我正在运行一些模拟,需要手动键盘输入才能更改参数(烦人)。
有没有办法模拟键盘按下,以便我可以用bash脚本运行模拟?
虽然我不推荐它,你可以做这样的事情(它只列出你的主目录的内容)
tell application "Terminal"
activate
do script "cd ~" -- the command to run
delay 5 -- maybe throw in a delay to let the process start up
tell application "System Events" to keystroke "ls -la" & return -- the keystrokes to simulate
end tell
然而,这相当于训练猫在键盘上行走的数字。代码不知道终端发生了什么。它只是“键入”某些内容并按下返回,完全无视。
因此,如果您有任何其他方式将输入传递给流程,请使用它。我刚刚发布了这个,因为你确实要求AppleScript解决方案。我只是怀疑AppleScript是正确的解决方案。
也许你可以使用expect
?
还有echo | <cmd>
。
事实证明我可以从bash一直做到:
./program << ENDINPUT
$input1
$input2
$input3
ENDINPUT