我正在编写一个运行命令的脚本:
podman ps | grep -i healthy | grep netbackup | awk '{print $1}'
此命令在 shell 中运行良好。但是,如果我尝试从 bash 脚本运行它,它会失败并显示“错误:没有这样的文件或目录”。
我该如何解决这个问题? 预先感谢。
[root@rservername tmp]# podman ps | grep -i healthy | grep netbackup | awk '{print $1}'
fc6725135e92
5bf17ae3b877
e1407dde3064
2ad1e55e8779
[root@rservername tmp]#
[root@rservername tmp]# ./test.sh
+ echo test
test
+ podman ps
+ grep -i healthy
+ grep netbackup
+ awk '{print $1}'
Error: no such file or directory
[root@rservername tmp]# cat test.sh
#!/bin/bash
set -x
echo "test"
podman ps | grep -i healthy | grep netbackup | awk '{print $1}'
对于
not found error
,添加为脚本的第二行:
. ~/.bashrc
设置PATH变量。或者将其设置为锻造。
剩下的,我会做的,只有一根管子:
podman ps | awk '$NF=="healthy" && $2=="netbackup"{print $1}'
jq
来解析您可以使用以下方法生成的 JSON
:
podman ps --format json
如果您向我展示此命令的原始输出,如果您不熟悉,我可以提供帮助
jq
。