从bash文件执行docker命令

如何从bash(sh)脚本运行docker命令? 我正在尝试运行:

#!/bin/bash container= $(docker ps --format "{{.ID}} {{.Names}}" -a | grep testServer | awk '/'$imid'/ { print $1 }'); echo $container 

但我得到一个容器的空白。

TIA

它看起来像容器id打印到sterr和$()构造只捕获标准输出。

按照这个注释 ,你可以使用2>&1将stderrredirect到标准输出,但是我不太清楚如何在grep / awk链接中使用它。

做了一些testing – 如build议 – 并发现以下作品从bash。

 #!/bin/bash container=$(docker ps --format "{{.ID}} {{.Names}}" -a | grep testServer | awk '/'$imid'/ { print $1 }') echo $container if [[ $container = *[!\ ]* ]]; then echo "found something"; else echo "DID NOT find anything"; fi 

我想我只好再玩一下了。