Operadores de linha de comando
Os operadores de linha de comando são caracteres especiais que ajudam a controlar como os comandos funcionam e interagem entre si. Pense neles como a "cola" que conecta comandos diferentes ou indica para onde a informação deve ir. Esses operadores resolvem problemas comuns, como salvar a saída de um comando em um arquivo, executar vários comandos em sequência ou usar a saída de um comando como entrada de outro ao trabalhar no terminal.
Sem operadores, você teria que copiar e colar manualmente as saídas entre comandos ou executar cada comando separadamente, conferindo se ele deu certo antes de executar o próximo. Os operadores deixam seu fluxo de trabalho mais eficiente e ajudam a automatizar tarefas repetitivas.
Operadores de redirecionamento (>, >>)
Os operadores de redirecionamento pegam a saída de um comando e a enviam para um arquivo ou outro destino, em vez de exibi-la na tela. Isso é útil para salvar resultados de comandos ou logs.
Aqui vai um macete para lembrar a diferença:
>: 1 seta = manter 1 coisa = manter o meu>>: 2 setas = manter 2 coisas = manter o seu e o meu
Escreva um trecho de texto em um arquivo:
echo "Hello, World!" > hello.txtAcrescente os últimos 5 commits a um arquivo de changelog:
git log -5 --oneline >> CHANGELOG.mdOperador pipe (|)
O operador pipe pega a saída de um comando e a usa como entrada de outro comando. Isso cria um "pipeline", onde os dados fluem de um comando para o seguinte, como a água em canos conectados.
Selecione os commits que contêm a palavra "fix" na mensagem:
Linux/macOS:
git log --oneline | grep "fix" | sortPowerShell:
git log --oneline | Select-String "fix" | Sort-ObjectOperadores lógicos (&&, ||)
Os operadores lógicos, parecidos com os das linguagens de programação, controlam o fluxo de execução dos comandos com base no sucesso ou na falha dos comandos anteriores.
&&: executa o próximo comando apenas se o comando anterior deu certo (código de saída 0).||: executa o próximo comando apenas se o comando anterior falhou (código de saída diferente de zero).
Adicione os arquivos e faça o commit apenas se a adição der certo:
git add . && git commit -m "Update documentation"Tente dar um pull; se falhar, faça só um fetch:
git pull origin main || git fetch origin.gitignoregit checkoutgit configgit taggit worktree