![使用相同参数的单行样板代码](https://linux22.com/image/1553887/%E4%BD%BF%E7%94%A8%E7%9B%B8%E5%90%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%8D%95%E8%A1%8C%E6%A0%B7%E6%9D%BF%E4%BB%A3%E7%A0%81.png)
有没有一个好的单行命令可以让这三个命令使用相同的参数并且$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 中,空格很重要。具体来说,在函数定义中,必须在后面留出空格。