Dường như có hai phiên bản chính của kịch bản nổi xung quanh.
Cái đầu tiên tương tự như của bạn, ngoại trừ "keystroke return" được nhân đôi hai lần ( nguồn ):
osascript <<EOF
tell application "System Events"
keystroke "USERNAME"
keystroke tab
delay 0.5
keystroke "PASSWORD"
delay 0.5
keystroke return
keystroke return
end tell
EOF
Ai đó thậm chí đã nhận ra rằng hai lần là không đủ:
osascript <<EndOfMyScript
tell application "System Events"
keystroke "USERNAME"
keystroke tab
delay 0.5
keystroke "PASSWORD"
delay 0.5
keystroke return
keystroke tab
delay 0.5
keystroke "PASSWORD"
delay 0.5
keystroke return
keystroke return
keystroke return
keystroke return
keystroke return
end tell
EndOfMyScript
Mặc dù người khác thích giải pháp này, nhưng giải pháp này sẽ hoạt động nếu bạn có danh sách người dùng có "Khác ..." được hiển thị trong cửa sổ đăng nhập:
osascript <<EOT
set username_ to "username"
set password_ to "password"
tell application "System Events"
key code 125 -- Down Arrow
key code 125 -- Down Arrow
delay 1
key code 125 -- Down Arrow
key code 125 -- Down Arrow
key code 125 -- Down Arrow
key code 125 -- Down Arrow
key code 125 -- Down Arrow
key code 125 -- Down Arrow
delay 0.5
key code 36 -- Return
delay 1
tell process "SecurityAgent" to set value of text field 1 of group 1 of window 1 to username_
tell process "SecurityAgent" to set value of text field 2 of group 1 of window 1 to password_
click button "Log In" of window 1 of application process "SecurityAgent"
end tell
EOT
(Đã được trả lời bởi người dùng không phải là máy Mac)
tab
ra ngoài và sau đó nhấn nút để đăng nhập?