請注意,我在這裏使用我自己的路徑 - 我將ninjam服務器文件夾放在我的應用程序文件夾的頂層。 我不得不創建一個「術語」的文件,這是與這個文本文件在裏面:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>WindowSettings</key>
<array>
<dict>
<key>ExecutionString</key>
<string>cd /Applications/NinjamOSXServer/;./ninjamsrv config.cfg</string>
</dict>
</array>
</dict>
</plist>
我保存這個作爲LaunchNinjamSrvr.term並把它放在同一文件夾中ninjamsrvr。然後使用的腳本是:
set r to display dialog "Start or stop the NINJAM server ?" buttons {"Stop", "Start"}
if button returned of r is "Start" then
do shell script "open /Applications/NinjamOSXServer/LaunchNinjamSrvr.term"
else
do shell script "killall -INT -v ninjamsrv"
end if
[發生在我身上,我應該給一些解釋。直接使用帶「config.cfg」參數的完整路徑會導致'do shell script'扼殺。分裂成兩個命令(但仍然使用do shell腳本),就像你在.term文件中看到的那樣,它可以啓動ninjamsrv,但是使腳本編輯器(我使用Smile)凍結。所以這是(大概 - 我不想通過其他手段[腳本應用程序等]測試它)的問題,爲什麼我訴諸使用.term文件。它曾經是,你可以,從終端的文件菜單(我記得),直接保存一個.term文件,但似乎倒在路邊。所以,在這一點上,我有一個我使用的模板,並將命令粘貼到適當的行中。 (但請參閱http://discussions.apple.com/thread/3139585?start=0&tstart=0 - 其中介紹了導出終端首選項文件的技術)。我有點懶惰,因爲新的表單是.terminal,而不是.term ...無論如何... 所以現在剩下的就是執行實際的AS腳本。 'open'是一個基本的命令行命令,就像在Finder中打開或雙擊一樣。如果由於某種原因,您的文件在錯誤的應用程序中打開或者無法打開,您可能需要將其映射到Terminal.app(在獲取信息窗口中)和/或將擴展名更改爲最新的'。終奌站'。 killall就像殺人一樣,旨在以各種方式殺死進程。我選擇了-INT,因爲這基本上就像做一個控制c來中斷這個過程。]
非常感謝你,現在工作正常。 –
很高興提供幫助。隨意投票的解決方案爲'最佳答案':-) – CRGreen
或者,我想我的意思是'標記爲正確' – CRGreen