One-liner para código clichê usando o mesmo argumento

1

Existe um bom one-liner para esses três comandos usando o mesmo argumento para usar $IMAGE apenas uma vez?

docker build -t $IMAGE .
docker push $IMAGE
docker rmi $IMAGE

Algo com uma matriz e um loop?

    
por J. Doe 19.02.2018 / 08:49

1 resposta

2

Defina uma função:

bpr() { docker build -t "$1" .; docker push "$1"; docker rmi "$1"; }

Agora, sempre que você quiser fazer esses três comandos na mesma imagem, execute:

bpr "$Image"

Notas

  1. Se você quiser tornar esta definição de função permanente, coloque a definição em seu arquivo ~/.bashrc .

  2. As melhores práticas são usar nomes mistos ou minúsculos para as variáveis do shell. O sistema usa nomes de letras maiúsculas para suas variáveis e você não quer sobrescrever acidentalmente um deles.

  3. Observe que $1 é colocado entre aspas duplas acima. A menos que você queira explicitamente divisão de palavras ou expansão de nome de caminho , coloque suas referências às variáveis de shell entre aspas duplas.

  4. No bash, o espaço em branco é importante. Em particular, você deve deixar espaço em branco após o { na definição da função.

por 19.02.2018 / 09:19

Tags