linux - 自己调用 bash 脚本

标签 linux bash shell unix

我需要使用一组不同的参数单独调用一个 bash 脚本,使其作为后台进程运行,所以我使用类似的东西:

if [[ $a == $b  ]]
then
  $0 -v &> /dev/null
fi

问题是,尽管我使用“&”作为后缀调用与后台进程相同的脚本并将所有输出重定向到/dev/null,但我调用脚本的终端未发布,我假设是因为最初被调用的脚本有一个作为前台进程运行的进程,所以问题是,如何自己调用 bash 脚本,这样当它调用自己时,负责第一次运行脚本的进程时间被杀死,控制台被释放,第二次调用自身作为后台进程运行?

最佳答案

您没有使用 & 将其作为后台进程运行。 &> 是一个完全独立的 token ,可同时重定向 stdout 和 stderr。如果您想将该命令置于后台,则为 $0 -v &>/dev/null &

关于linux - 自己调用 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6325651/

相关文章:

linux - 在 shell 脚本中使用 ~/(user entry)

mysql - 读取具有多个列和空格的 MySQL 结果集

linux - 将错误重定向到一个文件,将标准输出重定向到另一个函数,然后再重定向到另一个文件

linux - 如何编写 shell 脚本来搜索目录列表中的文本

linux - 如何在linux中编写平台驱动程序

linux - 在bash shell脚本中,在文件的最后10行中搜索单词。如果找到,则执行一个操作,否则执行另一个操作

php - 如何在php标签后列出所有带有空格的文件

linux - shell 脚本 - 如何在不在脚本中定义变量的情况下为 shell 脚本使用变量

linux - Eclipse是否有替代方案?

c - Open SSL 在大文本上的性能