Bash 如何延迟运行shell脚本
我基本上想运行一个脚本,它是一个服务器,但是有10秒的延迟,这是因为我需要在这个脚本之前运行一些东西 服务器位于文件夹Bash 如何延迟运行shell脚本,bash,shell,command-line,raspberry-pi,raspbian,Bash,Shell,Command Line,Raspberry Pi,Raspbian,我基本上想运行一个脚本,它是一个服务器,但是有10秒的延迟,这是因为我需要在这个脚本之前运行一些东西 服务器位于文件夹/etc/init.d中,但基本上要使其工作,我使用命令行转到该路径,必须重新启动服务器,键入: sudo ./znodejs.sh stop 然后我再次启动服务器: sudo ./znodejs.sh start 我想知道是否有任何方法可以延迟运行这些命令。用于睡眠的标准unix命令被称为 sleep 要等待一秒钟,请使用 sleep 1 要使脚本在启动时运行,请首先使
/etc/init.d
中,但基本上要使其工作,我使用命令行转到该路径,必须重新启动服务器,键入:
sudo ./znodejs.sh stop
然后我再次启动服务器:
sudo ./znodejs.sh start
我想知道是否有任何方法可以延迟运行这些命令。用于睡眠的标准unix命令被称为
sleep
要等待一秒钟,请使用
sleep 1
要使脚本在启动时运行,请首先使其可执行:
$ sudo chmod 755 /etc/init.d/znodejs.sh
然后,您可以注册要在启动时运行的脚本:
$ sudo update-rc.d znodejs.sh defaults
(编辑)
原始答复:
sleep命令将暂停给定的秒数:
sudo ./znodejs.sh stop
sleep 10
sudo ./znodejs.sh start
我想我的问题一点也不清楚,服务器从一开始就自动启动,所以我想创建一个脚本来延迟运行这些命令。我不想每次raspberry重新启动时都在命令行中键入它。所以我试着在rc.local中这样运行它:
(sleep 10;sudo/etc/init.d/znodejs.sh stop)
(sleep 10;sudo/etc/init.d/znodejs.sh start)
@JorgeCordero我已经更新了我的答案,展示了如何让脚本在启动时运行