Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何延迟运行shell脚本_Bash_Shell_Command Line_Raspberry Pi_Raspbian - Fatal编程技术网

Bash 如何延迟运行shell脚本

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 要使脚本在启动时运行,请首先使

我基本上想运行一个脚本,它是一个服务器,但是有10秒的延迟,这是因为我需要在这个脚本之前运行一些东西

服务器位于文件夹
/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我已经更新了我的答案,展示了如何让脚本在启动时运行