No shell script, como dar a uma variável o valor que é mostrado na tela? [duplicado]

0

Supondo que algumas strings (como 123 ou abc ou test123) apareçam automaticamente na tela após o último comando e não posso saber o valor exato da string antecipadamente.

Em seguida, quero criar um novo diretório com o nome dessa sequência (como ./123/ ou ./abc/ ou ./test123/ ), o que significa que a sequência deve ser dada a uma variável var para que o novo diretório possa ser criado por mkdir $var .

    
por Bo-Yuan 24.10.2016 / 15:42

1 resposta

0

Você pode usar backticks para armazenar o resultado de um comando (no meu exemplo, é uname ) em uma variável, então echo it na tela e, eventualmente, usá-lo como argumento para mkdir :

FOO='uname -n'
echo "$FOO"
mkdir "$FOO" 

O excelente Guia Avançado de Roteiro de Bash contém um capítulo inteiro sobre Substituição de Comando .

Como @KalvinLee comentou, o formato preferido é agora $(...) :

FOO=$(uname -n)
    
por 24.10.2016 / 15:47