2012-04-04 16 views
0

Das Skript führt die else-Anweisung weiterhin aus, auch wenn ARD aktiviert ist. Kann nicht herausfinden, wie wenn $ ardstatus verlassen = enabledApple Remote Desktop-Shellskript unter bestimmten Bedingungen aktivieren

#!/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 

Antwort

0

so dass das bedeutet, was in ardstatus mehr herauskommt, als Sie denken, höchstwahrscheinlich ein neuen Online-char. Versuchen Sie, diese

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

Wenn das es nicht beheben, dann ‚überprüfen‘ Ihre Variable

echo "ardstatus=XXX${ardstatus}XXX" 

Dies setzt voraus, eine bash oder ksh wie Shell, wenn Sie wirklich ein Bourne-Shell haben, dann sind Sie‘ Ich werde weiterhin Backtics für cmd-Substitution verwenden müssen. Wenn Sie das brauchen, brauchen Sie das Echo immer noch nicht. Tun Sie dies auch, und verwenden Sie den obigen Inspektionscode.

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

Ich hoffe, das hilft.

Verwandte Themen