有条件地启用Apple Remote Desktop shell脚本

时间:2012-04-04 21:46:23

标签: bash shell

即使启用了ARD,脚本也会继续运行else语句。如果$ ardstatus = enabled

,无法弄清楚如何退出
#!/bin/sh
#check if users have ARD enabled or disabled
ardstatus="echo `cat /private/etc/RemoteManagement.launchd`"
if [ "$ardstatus" = enabled ]; then
    echo "ARD is enabled"
else
    #if disabled enable it for specifiedUsers which is determined in the next command
    sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -specifiedUsers
    #configure ARD
    sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -users admin,administrator -access -on -privs -ControlObserve -ObserveOnly -TextMessages
fi

1 个答案:

答案 0 :(得分:0)

这意味着ardstatus中出现的内容比您想象的要多,很可能是新行字符。试试这个

 ardstatus=$( < /private/etc/RemoteManagement.launchd )

如果这不能解决问题,那么'检查'你的变量

 echo "ardstatus=XXX${ardstatus}XXX"

这假设一个bash或ksh之类的shell,如果你真的有一个bourne shell,那么你需要继续使用back-tics进行cmd替换。如果你需要,你仍然不需要回声,所以

ardstatus="`cat /private/etc/RemoteManagement.launchd`"

并使用上面的检查代码。

我希望这会有所帮助。