Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
在shell中调用并启动_Shell - Fatal编程技术网

在shell中调用并启动

在shell中调用并启动,shell,Shell,如果我想从批处理脚本中调用另一个批处理脚本,我可以使用 CALL File.bat 暂停当前批处理文件的执行并等待调用的脚本完成 我可以用 START File.bat 如果我想让它们同时运行 如何在shell脚本中实现此行为???我想您的意思是*NIX sh 要执行另一个脚本并等待它完成,请执行以下操作 sh file.sh 要在后台启动,请执行以下操作 (sh file.sh) & 如果您想等待: #!/bin/bash # do some stuff /path/to/ot

如果我想从批处理脚本中调用另一个批处理脚本,我可以使用

CALL File.bat
暂停当前批处理文件的执行并等待调用的脚本完成

我可以用

START File.bat
如果我想让它们同时运行


如何在shell脚本中实现此行为???

我想您的意思是*NIX sh

要执行另一个脚本并等待它完成,请执行以下操作

sh file.sh
要在后台启动,请执行以下操作

(sh file.sh) &
如果您想等待:

#!/bin/bash
# do some stuff
/path/to/other/script
# do other stuff
要同时运行它(即“在后台”):

<> P>还有其他方法,如果要提供特定的输入和/或捕获输出或错误,您应该考虑后台进程的输入和输出重定向,但这是基本的。 P> > BASH(和其他Burne shell兼容的shell):

  • 您不需要
    调用
    ;调用另一个脚本或程序会同步执行它。
    someprog.sh
  • &
    附加到命令以异步运行;请注意,如果程序在后台尝试从stdin读取,则程序将停止。
    someprog.sh&

…在当前路径中。随着您越来越熟练地使用shell编程,您可能需要指定shell的实际品牌(bash或ksh93)。
#!/bin/bash
# do some stuff
/path/to/other/script &
# do other stuff, then optionally:
wait
# this will wait for all background jobs to finish