我正在尝试暂停或“睡眠”在OSX中运行的bash脚本中的特定行。该脚本在登录前在启动时运行。我没有看到我期待的结果。换句话说,无论我在“睡眠”之后指定什么时间,脚本仍然一直向右移动,没有任何延迟。但是,当我在登录后运行脚本时,“sleep”命令似乎工作正常。
命令文件“sleep”是否可能在登录前或脚本运行之前不在路径中?如果我在命令之前将路径置于睡眠状态会有帮助吗?如果是这样,“睡觉”在哪里?
我可以尝试另一种方法或替代命令吗?
由于
#!/bin/bash
#Create the bin directory
sudo mkdir /usr/local/bin
sleep 10
#Copy the files to the Hard Drive
sudo cp /Volumes/NO\ NAME/adbind.bash /usr/local/bin/adbind.bash
sudo cp /Volumes/NO\ NAME/com.sjusd.adbind.plist /Library/LaunchDaemons/com.sjusd.adbind.plist
#Fix permissions
sudo chown root:wheel /usr/local/bin
sudo chmod 755 /usr/local/bin
sudo chown root:wheel /Library/LaunchDaemons/com.sjusd.adbind.plist
sudo chmod 755 /Library/LaunchDaemons/com.sjusd.adbind.plist
exit 0
笨拙的人群我得了1减1 LOL
答案 0 :(得分:13)
这可能有点晚了,但似乎OS X上的睡眠不适用于量词(m,h,...)。 Official Apple documentation
所以“睡眠5米”与“睡眠5”相同。如果你想要5分钟,你必须使用“睡眠300”
答案 1 :(得分:2)
如果您运行which sleep
,则可以在系统上获得“睡眠”的路径。我得到/bin/sleep
。
此时,您有几个选择:
您可以在调用时指定sleep
的路径
#!/bin/bash
# script before sleep ...
/bin/sleep
# ... after sleep
或者您可以在调用之前在脚本中添加$PATH
变量的路径。
#!/bin/bash
PATH="$PATH:/bin"
# script before sleep ...
sleep
# ... after sleep