2012-04-04 2 views
0

ARD가 활성화 된 경우에도 스크립트는 else 문을 계속 실행합니다. $의 ardstatus 경우 종료하는 방법을 알아낼 수 없습니다 = 그래서 ardstatus에 나오는 어떤 것은, 대부분 개행 문자를 당신이 생각하는 것보다 더 많은 것을 의미Apple 원격 데스크톱 쉘 스크립트를 조건부로 사용 가능하게 함

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

답변

0

수 있었다. 그게 해결되지 않는 경우, '검사'당신의 변수

echo "ardstatus=XXX${ardstatus}XXX" 

당신이 정말로 그런 다음 본 셸이 경우는, 쉘과 같은 떠들썩한 파티 또는 ksh을 가정 당신 '이

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

시도 cmd 대체에 백틱을 계속 사용할 필요가 있습니다. 필요한 경우에도 여전히 에코가 필요하지 않습니다.

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

위의 검사 코드를 사용하십시오.

이 정보가 도움이되기를 바랍니다.

관련 문제