나는 스크립트에서 두 가지 조건을 부여하는데 집착했다. 나는 두 가지를 읽을 수있다.
- 가장 가까운 서버 란 무엇입니까?
- MacBook 또는 기타 항목 인 경우
pls 파일을 수정하려면 defaults write 명령을 사용하십시오.
두 가지를 모두 교차하는 선을 추가하려면 어떻게해야합니까? MODEL & amp; SERVER를 입력 한 다음 적절하게 파일을 씁니 까?
#!/bin/sh
# Get the logfile for this machine
dslog="/tmp/DSNetworkRepository/Logs/$(ioreg -l | grep IOPlatformSerialNumber | awk '{print $4}' | cut -d \" -f 2).log"
NEARESTSERVER=$(awk 'gsub(/.*server=|port=.*/,"")' $dslog | tail -1)
# get machine model
MACHINE_MODEL=`/usr/sbin/ioreg -c IOPlatformExpertDevice | grep "model" | awk -F\" '{ print $4 }'`
MacBook=`/usr/sbin/ioreg -c IOPlatformExpertDevice | grep "model" | cut -c21-27`
# Check if the Model is MacBook or Desktop & connected to which Booster and write the plist file accordingly
if [[ "${MACHINE_MODEL}" == "MacBook" && $NEARESTSERVER == 'SRV-DELHI.xaas.com']]
then
defaults write /Library/com.myorg.repo ConnectionNumber -string One
elif [[ "${MACHINE_MODEL}" != "MacBook" && $NEARESTSERVER == 'SRV-DELHI.xaas.com']]
then
defaults write /Library/com.myorg.repo ConnectionNumber -string Two
fi
# Check if the Model is MacBook or Desktop & connected to which Booster and write the plist file accordingly
if [[ "${MACHINE_MODEL}" == "MacBook" && $NEARESTSERVER == 'SRV-MUMBAI.xaas.com']]
then
defaults write /Library/com.myorg.repo ConnectionNumber -string Three
elif [[ "${MACHINE_MODEL}" != "MacBook" && $NEARESTSERVER == 'SRV-MUMBAI.xaas.com']]
then
defaults write /Library/com.myorg.repo ConnectionNumber -string Four
fi
exit 0
어 - 뭐가 문제 야? 몇 가지 조건이 포함 된 스크립트가 있는데, 언뜻보기에는 잘 구성된 것 같습니다. 나는 맥을 가지고 있지 않다. 그래서 나는 확인할 수 없다 ...
—
Edward
대본에 두 개를 넣는 방법을 알아야합니다. 내 말은, 나는 MACHINE_MODEL이 무엇인지, NEARESTSERVER가 무엇인지 확인하고 이에 따라 조치를 취해야한다.
—
JamesHumam
미안하지만 아직도 이해가 안되네. MACHINE_MODEL 및 NEARESTSERVER를 이미 확인 했으므로 그에 따라 조치를 취하십시오. 물론, 스크립트는 (if를 직렬로 연결하여) 다소 단순화 될 수 있지만 기본적으로 사용자가 묻는 것을 수행하는 것으로 보입니다. (나는 그것을 점검 할 수 없다)
—
Edward