pregunta básica: el uso de un contenido variable como nombre de directorio en Linux

votos
1

Quiero hacer un nuevo directorio con el nombre de cada archivo zip existe en la actualidad en un directorio específico, en otro. He escrito un 'bucle' para este propósito:

files=NL*.zip
for a in $files; do 
b=echo $a; 
sudo mkdir '/home/shokufeh/Desktop/normals/T1/${b}';
done

pero crea un directorio llamado $ {b} para los primeros errores de redondeo y hacer para los próximos. ¿Podría por favor decirme lo que debo hacer?

Publicado el 13/01/2020 a las 21:50
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
1

Usted pone la variable entre comillas simples, nunca será interpretado hay proa '$ {b}'. Prueba esto:

for a in NL*.zip; do 
  sudo mkdir "/home/shokufeh/Desktop/normals/T1/${a}";
done

No hay necesidad de variables de archivos $ y $ b.

Para resumir, digamos var=3,

  • echo "$var" mostrará 3
  • echo '$var' mostrará $var
  • echo "'$var'" mostrará '3'
  • echo '"$var"' mostrará "$var"

Es de esperar que esto tenga sentido. Cotizaciones funcionan como paréntesis y corchetes.

Respondida el 13/01/2020 a las 21:52
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more