我試圖自動化在OSX中啓動應用程序並在安全代理提示符處輸入管理員密碼的過程。我希望避免使用AppleScript GUI腳本,但是管理提示的根本原因太複雜了,我只是不會去那裏。與osascript GUI命令的bash問題
以下是由OSX管理員在本地運行時完美工作的腳本。 IE瀏覽器。從終端adminaccount# /usr/local/bin/ReasonScript.sh
#/bin/sh
sudo /usr/bin/osascript <<EOF
launch application "Reason"
tell application "System Events"
repeat until (exists window 1 of process "SecurityAgent")
delay 0.5
end repeat
tell window 1 of process "SecurityAgent"
tell scroll area 1 of group 1
set value of text field 1 to "adminaccount"
set value of text field 2 to "adminpassword"
end tell
click button "OK" of group 2
end tell
end tell
EOF
exit 0
的問題
我需要執行這個腳本作爲根用戶(不是很大,但我知道它的我們的部署軟件是怎麼做的)。因此,我想它像root# /usr/local/bin/ReasonScript.sh
,我得到以下錯誤
105:106: syntax error: Expected 「,」 but found 「"」. (-2741)
我已經通過腳本走了,但我不是AppleScript的專家,但我找不到這個語法錯誤。但同時我不希望這樣做,因爲ROOT用戶沒有可訪問的GUI,所以也許這是失敗的一部分。
然後我試着從根部承擔本地用戶權限...即root# sudo -u adminaccount /usr/local/bin/ReasonScript.sh
不幸的是我得到以下
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
一千appologies如果#1是不是這個問題的正確的地方。我很困惑,我不知道如何解決這個問題。它是AppleScript嗎?它是否是osascript?它是BASH還是OSX的管理結構?
我很欣賞我能用這個泡菜得到的所有幫助。