$ echo $!
77923
同时,你也可以通过 jobs
命令来检查 sub-shell 的信息
对于 sub-shell,你可以通过fg
命令将其拉回当前的 terminal。
如果有多个命令需要放到后台运行,可以采用如下方式:
command1 & command2 & command3 &
在这个例子中,三个脚本会同时开始运行,且拥有各自独立的 sub-shell 环境。在 shell 脚本中,这个方法常常被用来利用计算机的多核性能来加速执行。
如果你想创建个完全和当前的 shell 独立的后台进程(而不是想上面提到的用&创建的,和当前 shell 的 stdout 关联的方法),可以使用 nohup 命令。
command1; command2; command3
command1 && command2
&&
左边的命令(命令 1)返回真(即返回 0,成功被执行)后,&&
右边的命令(命令 2)才能够被执行;换句话说,“如果这个命令执行成功 && 那么执行这个命令”
管道符号,是 unix 一个很强大的功能,符号为一条竖线:"|"。
command 1 | command 2
他的功能是把第一个命令 command 1 执行的结果作为 command2 的输入传给 command 2
command1 || command2
||
则与 &&
相反。如果||
左边的命令(command1)未执行成功,那么就执行||
右边的命令(command2);或者换句话说,“如果这个命令执行失败了 || 那么就执行这个命令”。