命令在容器內運行
root@foo:/# for pid in `ps -ax|awk '{print $1}'` ;do echo $pid; done
PID
1
17
18
34
1792
2952
3623
3649
3650
3651
但是當我從主機運行相同的命令時
[ec2-user@ip-x ~]$ docker exec b1b bash -c "for pid in `ps -ax|awk '{print $1}'` ;do echo $pid; done"
bash: -c: line 1: syntax error near unexpected token `1'
bash: -c: line 1: `1'
我嘗試$在基于這里的 aws 中逃脫,但沒有任何運氣
docker exec b1b bash -c "for pid in `ps -ax|awk \"{print \$1}\"`;do echo $pid; done"
bash: -c: line 1: syntax error near unexpected token `1'
bash: -c: line 1: ` 1 ? Ss 10:56 /usr/lib/systemd/systemd --system --deserialize 21'
我期待命令在容器內運行與從主機運行時回傳相同的結果
uj5u.com熱心網友回復:
只需將 '' 用于 bash -c 即可正常作業:
docker exec b1b bash -c 'for pid in `ps -ax|awk "{print \\$1}"`;do echo $pid; done'
例子:
# docker exec 06 bash -c 'for pid in `ps -ax|awk "{print \\$1}"`;do echo $pid; done'
PID
1
88
93
94
95
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/535672.html
