Asignación de variables bash antes del comando
Hace un par de días me encontré con un comando
AWS_ACCESS_KEY="foo" AWS_SECRET_KEY="bar" aws list iam
Veo que establecer variables antes de un comando agrega esas variables en el entorno del comando:
#make sure there is no environment variable "foo"
$ echo $foo
#mimic-ing above command
$ foo=bar printenv | grep foo
foo=bar
#or trying from python environment
$foo=bar python -c "import os; print(os.getenv('foo', None))"
bar
#foo is destroyed now
$ echo $foo
#<<NOTHING
Intenté usar este truco para crear dinámicamente un nuevo directorio basado en la fecha de hoy:
$ dname=$(date +%d_%m_%y) mkdir ${dname} && cd ${dname}
pero recibí el siguiente error:
mkdir: missing operand
Try 'mkdir --help' for more information.
es decirdname=$(date +%d_%m_%y) echo $dname
vuelve vacío!
¿Qué estoy haciendo mal? ¿Cómo puedo crear y usar dinámicamente variables en la misma línea en bash?