巨简单循环shell脚本验证&符号后台操作(并记录查看当前shell的方法)

本文通过一个简单的Shell脚本例子,探讨了如何使用&符号进行后台执行,并记录了查看当前Shell的方法。在脚本中,作者尝试让循环后台运行,但发现并未按预期进行,经过一系列分析和实验,最终验证了&符号的位置对后台执行的影响。
摘要由CSDN通过智能技术生成

今天看大名鼎鼎的abs,看到里面说在命令后面加&符号即可表示该命令后台执行。

如 sleep 10 & 在命令行的运行结果是

[1]7039     #(7039)是进程号

 

于是按照书中举例编写如下脚本:

#!/bin/sh

for i in 1 2 3 4 5 6 7 8 9 10

do

  echo -n "$i "

done &  #据说此处可以使上述循环后台执行

 

echo

 

for i in 11 12 13 14 15 16 17 18 19

do

   echo  -n "$i "

done

echo

 

 

 

上述脚本预期运行结果为 上述数字可能随机排列 即 并不一定按照顺序输出,因为第一个循环为后台执行。

但运行后发现 结果仍然按照顺序输出。

 

分析原因:

      开始考虑#!/bin/sh的问题,可能是shell版本不对,于是查看当前shell

      (此处记一下查看shell的命令

         1、echo $SHELL

         2、echo $0 ---并不是所有版本都支持

         3、env | grep SHELL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值