Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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 - Fatal编程技术网

Bash 如何在shell脚本中创建作业?

Bash 如何在shell脚本中创建作业?,bash,shell,Bash,Shell,我知道执行命令并将&添加到末尾将创建一个作业并使命令在后台执行 现在我想在bashshell中创建一个作业。我试过了 #!/bin/bash my-job & # some other tasks 然后我执行了作业,但没有得到任何输出。但是,ps aux确实显示my job正在后台运行 我希望在脚本中创建作业,因为在某些情况下,我希望将作业置于前台。作业通常是一个交互式shell概念,因为通常涉及一个控制终端 shell脚本在shell的非交互、非登录会话中执行,因此默认情况下没有作

我知道执行命令并将
&
添加到末尾将创建一个作业并使命令在后台执行

现在我想在bashshell中创建一个作业。我试过了

#!/bin/bash

my-job &
# some other tasks
然后我执行了
作业
,但没有得到任何输出。但是,
ps aux
确实显示
my job
正在后台运行


我希望在脚本中创建作业,因为在某些情况下,我希望将作业置于前台。

作业通常是一个交互式shell概念,因为通常涉及一个控制终端

shell脚本在shell的非交互、非登录会话中执行,因此默认情况下没有作业控制

通过设置以下内容,可以在脚本中强制作业控制:

set -m
在脚本内部

帮助集

-m  Job control is enabled.