2010-09-10 60 views
1

我正在尋找一個Applescript來切換Snow Leopard中的Web共享。 I tried this但它不會禁用,只是在我再次運行時重新啓動它。或者一個shell命令,只要我可以將它變成Quicksilver操作。這是我的最終目標。非常感謝!切換Web共享

回答

1

您可以使用下面的shell腳本來切換在Mac OS X服務的啓用狀態:

#!/bin/sh 
# toggle OS X service 

if [ "$#" -ne "1" ] 
then 
    echo 1>&2 Usage: `basename $0` service 
    echo 1>&2 Toggle the enabled state of the given service. 
    exit 2 
fi 

SERVICE_NAME=$1 
SERVICE_PLIST=/System/Library/LaunchDaemons/$SERVICE_NAME.plist 

if [ ! -f "$SERVICE_PLIST" ] 
then 
    echo 1>&2 Service $SERVICE_NAME is not available. 
    exit 1 
fi 

/sbin/service --test-if-configured-on "$SERVICE_NAME" 
if [ $? -eq 0 ] 
then 
    /bin/launchctl unload -w "$SERVICE_PLIST" 
else 
    /bin/launchctl load -w "$SERVICE_PLIST" 
fi 

該腳本使用service命令,以確定是否啓用了該服務,然後通過調用切換其狀態launchctl

該服務的名稱必須作爲唯一參數傳遞。要切換網絡共享運行:

sudo toggle_service.sh org.apache.httpd 

要通過的AppleScript調用shell腳本可以使用do shell script命令:

do shell script "toggle_service.sh org.apache.httpd" password "pwd" with administrator privileges 

使用password參數,以避免被提示。

+0

有沒有一種方法可以將我的密碼保存在applescript中,所以我不必在命令中輸入密碼?我想在Quicksilver中使用它併爲其設置鍵盤快捷鍵。 – Marc 2010-09-10 21:31:27

+0

@Marc看到我更新的答案。 – sakra 2010-09-11 07:57:46

+0

所以我試圖編譯這個,我得到了這個:http://cl.ly/2LJH - > http://cl.ly/2Lgv - > http://cl.ly/2LlE – Marc 2010-09-11 21:35:28