2010-11-08 93 views
3

我正在運行下面一個簡單的AppleScript運行時shell腳本的進步......查看輸出或AppleScript的

do shell script "diskutil partitionDisk /dev/disk1 1 APM JHFS+ Test 1G"

這是一個更大的腳本的一部分。上述工作正常,但有沒有辦法查看進度?任何事情都可以做到,最好是終端窗口內的實際命令是好的。

由於

回答

1

調用的終端,並具有終端運行磁盤工具:

"xterm -e 'diskutil partitionDisk /dev/disk1 1 APM JHFS+ Test 1G'" 是命令行傳遞到外殼,並且具有xterm(1)顯示磁盤工具輸出。可以使用其他終端(不包括xterm),並且可以控制窗口大小字體和顏色:請參閱終端的手冊頁。

也許另一種顯示進度的方法是在窗口中運行整個腳本(而不僅僅是diskutil部分)。

2

我經常需要在運行時看到執行shell腳本命令和AppleScript腳本的其他各個階段的進度。我爲做了什麼shell腳本將輸出記錄到日誌文件中,然後使用名爲MKConsole的程序將其顯示在桌面上。例如:

do shell script "diskutil verifyPermissions // &> /output.log" 

在上述命令磁盤工具將啓動並開始運行並登錄標準輸出到I創建名爲output.log位於/日誌文件。它不會顯示您在終端中看到的0%... 10%... 20%進度指示器,但它確實會向您顯示所有其他輸出。

然後,我配置MKConsole的首選項來讀取此日誌文件,然後實時它會顯示我的桌面上該文件的所有新日誌消息。

如果您需要非shell腳本命令的進度並需要記錄AppleScript活動,那麼您可以使用記錄器命令。例如:

do shell script "logger -f /output.log The current count is: " & some_variable 

如果您有它運行很長一段時間,並使用重複循環,你想知道腳本是什麼階段完成的同時運行,那麼 上述記錄命令一個AppleScript是獲得進展反饋的好方法。我通常在末尾重複的腳本底部輸入一個記錄器命令,這樣它就是循環迭代過程中最後一件事。

記錄器命令方法與MKConsole配合良好,因此您可以在桌面上實時查看輸出。