如何从bash(sh)脚本运行docker命令?我想跑:
#!/bin/bash
container= $(docker ps --format "{{.ID}} {{.Names}}" -a | grep testServer | awk '/'$imid'/ { print $1 }');
echo $container
但我得到了容器的空白。
TIA
答案 0 :(得分:1)
看起来容器id打印到sterr,而$()
构造只捕获stdout。
根据this comment,你可以使用2>&1
将stderr重定向到stdout,但是我不太确定如何在你的片段中使用grep / awk链接。
答案 1 :(得分:0)
进行了一些测试 - 如建议的那样 - 并发现以下工作来自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
我想我只是不得不再玩它了。