希望有人必须知道这个,我可以回答我的另一个问题。 Launchagent尝试加载我的脚本太快,因此它失败了 - 我已经将它的好处设置为20而其他所有内容都结束了但是,当创建帐户时它太快了。
脚本调用cliclick
,如果系统未正确登录为未知命令,则会失败。所以,我的想法是这样的。
在脚本运行开始时cliclick -h
显示帮助菜单。如果它在命令unknown上失败,请继续重复,直到它成功为止,继续执行脚本的其余部分。
这是一种肮脏的方法,可以确保脚本在用户处于桌面状态之前不会运行,我无法想到更好的脚本,但我也不知道如何实现它 - 所以bash脚本大师,如何循环cliclick -h
直到成功然后继续其余的脚本?
答案 0 :(得分:2)
我怀疑有更好的方法可以做到这一点,但实际问题的实际答案很简单。
while ! cliclick -h; do
sleep 1 # or more, or less
done
这假设cliclick -h
正确返回零(成功)退出代码。当使用-h
调用时,某些命令将返回1,以区别于执行某些实际操作的正确成功操作。然后可能尝试更加难看的
while true; do
cliclick -h || test $? -eq 1 && break
sleep 1 # or more, or less
done
答案 1 :(得分:1)
您还可以使用until
:
until cliclick -h; do sleep 2; done ; say Done
答案 2 :(得分:0)