【发布时间】:2012-10-09 15:39:11
【问题描述】:
我正在尝试暂停或“休眠”在 OSX 中运行的 bash 脚本中的特定行。该脚本在登录前启动时运行。我没有看到我期望的结果。换句话说,无论我在“睡眠”之后指定什么时间,脚本仍然会正确移动,不会有任何延迟。但是,当我在登录后运行脚本时,“睡眠”命令似乎工作得很好。
在登录之前或我的脚本运行之前,命令文件“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 LOL
【问题讨论】:
-
您期待什么结果?你能展示一下剧本吗?有输出吗?
sleep是顺便说一句。通常位于/bin/sleep。 -
echo $(which sleep)在脚本的开头,用于测试您的问题。 -
Zulu 确实验证了它在 /bin 目录中。谢谢你。它只是在登录之前不起作用。
-
只是出于好奇,你怎么知道它没有在睡觉?你确定你知道脚本什么时候启动,并且你测量过执行时间吗?
-
实际上涉及到一个不同的脚本,上面的脚本是一个测试我基本上可以在登录后在终端中手动运行时计算它,这个脚本正在工作。另一个脚本,我将睡眠时间提高到“睡眠 5m”,因为登录窗口出现在此之前告诉我它不起作用。