有没有一个好的单行命令可以让这三个命令使用相同的参数并且$IMAGE
只使用一次?
docker build -t $IMAGE .
docker push $IMAGE
docker rmi $IMAGE
带有数组和循环的东西?
答案1
定义一个函数:
bpr() { docker build -t "$1" .; docker push "$1"; docker rmi "$1"; }
现在,无论何时您想在同一图像上执行这三个命令,请运行:
bpr "$Image"
笔记
如果您希望使该函数定义永久有效,请将该定义放入您的
~/.bashrc
文件中。最佳实践是使用大小写混合或小写名称来命名您的 shell 变量。系统使用大写名称来命名变量,您肯定不希望意外覆盖其中一个变量。
请注意,
$1
上面的双引号内。除非你明确想要单词拆分或者路径名扩展,将对 shell 变量的引用放在双引号中。{
在 bash 中,空格很重要。具体来说,在函数定义中,必须在后面留出空格。