Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
zsh alias删除所有docker容器返回命令未找到_Zsh_Zshrc - Fatal编程技术网

zsh alias删除所有docker容器返回命令未找到

zsh alias删除所有docker容器返回命令未找到,zsh,zshrc,Zsh,Zshrc,我的.zshrc文件中有此别名: alias rmcons="docker rm -f $(docker ps -aq)" 但在尝试执行它之后,它只删除一个容器,然后打印 $rmcons ef8197f147fb zsh: command not found: c2ea2673f9e4 zsh: command not found: 4603059f1618 zsh: command not found: 40ad60328595 如何删除docker ps-aq显示的所有容器 警告:未经测

我的
.zshrc
文件中有此别名:

alias rmcons="docker rm -f $(docker ps -aq)"
但在尝试执行它之后,它只删除一个容器,然后打印

$rmcons
ef8197f147fb
zsh: command not found: c2ea2673f9e4
zsh: command not found: 4603059f1618
zsh: command not found: 40ad60328595
如何删除
docker ps-aq
显示的所有容器

警告:未经测试。我没有码头工人

我认为您应该首先序列化输出以“转义”新行


您也可以使用
for
循环,尝试:

for id in `docker ps -aq`; do docker rm -f $id; done
请注意用于分析命令输出的反引号

您也可以直接使用
$()
而不是其快捷方式backquote

我建议首先使用
echo
进行测试,而不是使用
rm
删除:

for id in `docker -ps -aq`; do echo rm -f $id; done
,并使用
rm
及其
-i
开关在删除前提示确认

我希望
docker
rm
子命令有一个

警告:未经测试。我没有码头工人

我认为您应该首先序列化输出以“转义”新行


您也可以使用
for
循环,尝试:

for id in `docker ps -aq`; do docker rm -f $id; done
请注意用于分析命令输出的反引号

您也可以直接使用
$()
而不是其快捷方式backquote

我建议首先使用
echo
进行测试,而不是使用
rm
删除:

for id in `docker -ps -aq`; do echo rm -f $id; done
,并使用
rm
及其
-i
开关在删除前提示确认


我希望docker的
rm
子命令有一个。

您需要使用单引号(
'
)而不是双引号(
'


如果使用双引号,则在定义别名时将计算命令替换
$(docker ps-aq)
。在您的示例中,这相当于

alias rmcons="docker rm -f ef8197f147fb
c2ea2673f9e4
4603059f1618
40ad60328595"
由于换行符是命令分隔符(如
),此别名由四个命令取代:
docker rm-f ef8197f147fb
c2ea2673f9e4
4603059f1618
40ad60328595
。最后三个在您的系统上不存在,因此“找不到命令”。这还意味着将使用与alias definiton上相同的
docker ps-aq
-输出,而不是运行alias时的输出


另一方面,如果使用单引号,别名实际上将被您定义的确切命令替换:
docker rm-f$(docker ps-aq)
。虽然
docker ps-aq
仍将返回带换行符的输出,但这些换行符现在只是参数之间解析的单词分隔符。

您需要使用单引号(
'
)而不是双引号(
'


如果使用双引号,则在定义别名时将计算命令替换
$(docker ps-aq)
。在您的示例中,这相当于

alias rmcons="docker rm -f ef8197f147fb
c2ea2673f9e4
4603059f1618
40ad60328595"
由于换行符是命令分隔符(如
),此别名由四个命令取代:
docker rm-f ef8197f147fb
c2ea2673f9e4
4603059f1618
40ad60328595
。最后三个在您的系统上不存在,因此“找不到命令”。这还意味着将使用与alias definiton上相同的
docker ps-aq
-输出,而不是运行alias时的输出


另一方面,如果使用单引号,别名实际上将被您定义的确切命令替换:
docker rm-f$(docker ps-aq)
。尽管
docker ps-aq
仍将返回带有换行符的输出,但这些换行符现在只是参数之间解析的单词分隔符。

谢谢!只是运行了它,它运行得很好,不知道有这么大的不同,谢谢!只是运行了它,它运行得很好,不知道有这么大的差别