En el script de shell, ¿cómo darle a una variable el valor que se muestra en la pantalla?

En el script de shell, ¿cómo darle a una variable el valor que se muestra en la pantalla?

Supongamos que algunas cadenas (como 123 o abc o test123) aparecerían automáticamente en la pantalla después del último comando y no puedo saber el valor exacto de la cadena de antemano.

A continuación, quiero crear un nuevo directorio con el nombre de esa cadena (como ./123/o ./abc/o ./test123/), lo que significa que la cadena debe asignarse a una variable varpara que el nuevo directorio pueda ser creado por mkdir $var.

Respuesta1

Puede usar comillas invertidas para almacenar el resultado de un comando (en mi ejemplo, es uname) en una variable, luego echoen la pantalla y, finalmente, usarlo como argumento para mkdir:

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

La excelente Guía avanzada de secuencias de comandos Bash tieneun capítulo completo sobre sustitución de comandos.

Como comentó @KalvinLee, el formato preferido ahora es $(...):

FOO=$(uname -n)

información relacionada