Mais
Como posso definir uma variável para a saída de um comando em Bash?
Eu tenho um roteiro bastante simples que é algo como o seguinte:
#!/bin/bash
VAR1="$1"
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'
echo $MOREF
Quando corro este script a partir da linha de comando e o passo os argumentos, não estou obtendo nenhuma saída. Entretanto, quando eu executo os comandos contidos dentro da variável `$MOREF', eu consigo obter output.
Como se pode pegar os resultados de um comando que precisa ser executado dentro de um script, salvá-lo em uma variável e, em seguida, emitir essa variável na tela?
1497
3
Além de backticks
você pode utilizarcommand
$(command)
ou"$(command)"
o que eu acho mais fácil de ler, e permitir o aninhamento.A citação (
"
) é importante para preservar valores de várias linhas.O caminho certo é
Se você vai utilizar um apóstrofo, você precisa `` ``, não ````. Este personagem é chamado de "backticks" (ou "acento grave").
Assim:
Só para ser diferente: