Bash中nohup运行时是否无法使用变量?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Bash中nohup运行时是否无法使用变量?

2016-06-17 17:25:51 2007 1

写了一行脚本用来取Linux server上的几个网络数据,并用awk打上timestamp记录:

for ((i=0;i<5;i++)); do cat /sys/class/net/eth0/statistics/rx_bytes /sys/class/net/eth0/statistics/rx_packets | paste -d' ' - - | gawk '{print systime(), $0}'; sleep 2; done
输出:
1398132841 131363249 780043
1398132843 131367139 780066
1398132845 131371063 780095
1398132847 131375807 780120
1398132849 131381147 780164

但是当我用nohup来执行这条命令时好像就无法正常工作了:

sh -c "for ((i=0;i<5;i++)); do cat /sys/class/net/eth0/statistics/rx_bytes /sys/class/net/eth0/statistics/rx_packets | paste -d' ' - - | gawk '{print systime(), $0}'; sleep 2; done" > /tmp/net_stat.log &
输出:
1398132882 0
1398132884 0
1398132886 0
1398132888 0
1398132890 0

是不是$0这个变量在nohup运行环境中无法使用的原因?有没有什么解决办法?谢谢!

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:43:13

    你看代码高亮,其中的 $0 在最外层的 "" 已经被展开了,也就是,gawk 得到的是诸如 {print systime(), -bash} 这样的字符串(具体是什么与你的 shell 及启动方式有关)。你转义一下写成 &dollar;0。

    0 0
相关问答

1

回答

bash变量有哪些类型?

2022-03-14 21:48:17 1013浏览量 回答数 1

1

回答

Bash Shell内建命令中的 eval命令有什么作用呢?

2021-12-01 18:40:17 138浏览量 回答数 1

1

回答

Bash Shell内建命令中的 command命令有什么作用呢?

2021-12-01 18:23:03 147浏览量 回答数 1

1

回答

Bash Shell内建命令中的 compgen命令有什么作用呢?

2021-12-01 18:23:42 156浏览量 回答数 1

1

回答

Bash Shell内建命令中的 complete命令有什么作用呢?

2021-12-01 18:37:47 98浏览量 回答数 1

1

回答

Bash Shell内建命令中的 compopt命令有什么作用呢?

2021-12-01 18:38:08 145浏览量 回答数 1

1

回答

Bash Shell内建命令中的 continue命令有什么作用呢?

2021-12-01 18:38:21 98浏览量 回答数 1

1

回答

Bash Shell内建命令中的 caller命令有什么作用呢?

2021-12-01 18:22:48 114浏览量 回答数 1

1

回答

Bash Shell外部命令中的 clear命令有什么作用呢?

2021-12-01 22:51:07 109浏览量 回答数 1

1

回答

Shell(Bash)中如何判断是否存在某个命令

2016-06-16 15:19:37 1690浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载