
사용자 입력을 기반으로 변수를 설정하려고 합니다. 사용자에게 메시지를 표시하도록 구성한 내용이 "버튼 반환됨:예" 또는 "버튼 반환됨:아니요"로 응답한다는 것을 알고 있습니다.
버튼이 '예'를 반환하면 변수를 "True"로 설정하고 싶습니다. 버튼이 no를 반환하면 "False"입니다.
이것이 내가 지금까지 가지고 있는 것입니다:
response="button returned:yes"
var=`/usr/bin/osascript -e 'display dialog "Is a reboot required?" buttons {No,Yes}'`
/bin/test "$response" = "$var" && reboot="True" || reboot="False"
내가 도대체 뭘 잘못하고있는 겁니까? $reboot 변수는 사용자 입력에 관계없이 항상 false로 설정됩니다. 이것은 macOS 시스템에서 실행되도록 고안된 bash 스크립트입니다.
답변1
스크립트 사본 끝에 다음 줄을 추가합니다.
echo "r: '$response'; v: '$var'; b: '$reboot'"
다음과 같은 출력을 제공합니다.
r: 'button returned:yes'; v: 'button returned:yes '; b: 'False'
osascript
출력에 공백을 추가하는 것 같고 가 "string"
와 같지 않기 때문에 "string "
테스트가 예상대로 작동하지 않습니다.