Na linha de comando, costumo usar comandos "simples" como
mv foo/bar baz/bar
mas não sei como chamar todas as partes disso:
┌1┐ ┌──2───┐
git checkout master
│ └──────3──────┘
└───────4─────────┘
Eu (acho que) sei que 1 é um comando e 2 é um argumento, e provavelmente chamaria 3 de uma lista de argumentos (está correto?).
No entanto, não sei como chamar 4 .
Como os "comandos" mais complexos são rotulados?
find transcripts/?.? -name '*.txt' | parallel -- sh -c 'echo $1 $2' {} {/}
Eu apreciaria uma resposta que detalhasse o que chamar de 1,2,3,4 e como chamar cada parte, por exemplo, deste "comando" acima.
Seria ótimo aprender também sobre outras coisas únicas/surpreendentes que não incluí aqui.
Os nomes comuns para cada parte são os seguintes:
Nome do comando (primeira palavra ou token da linha de comando que não é um redirecionamento ou atribuição de variável e após a expansão dos aliases).
Token, palavra ou argumento para o comando. Do homem bash:
Geralmente: Argumentos
Linha de comando.
A concatenação de dois comandos simples com a
|
é uma sequência de pipe ou pipeline:Lembre-se de que também há redirecionamento e atribuições de variáveis:
Onde (ao lado dos números acima):
Esta não é uma lista exaustiva de todos os elementos que uma linha de comando pode ter. Essa lista é muito complexa para esta resposta curta.
A resposta de @isaac acima parece boa.
Eu quero estender isso com algumas fontes.
Acho que o padrão POSIX pode, em certo sentido, ser considerado canônico . Outras fontes podem ser
man bash
eman proc
.O POSIX sugere que:
man proc
use a linha de comando )Ele também possui terminologia para muitos comandos mais complicados.
Acho que o comando é bastante ambíguo, então talvez os termos nome do comando e linha de comando sejam bons para maior clareza.j