pergunta básica: usando um conteúdo variável como nome do diretório no Linux

votos
1

Eu quero fazer um novo diretório com o nome de cada arquivo zip existe atualmente em um diretório específico, em outro. Eu escrevi um 'loop' para essa finalidade:

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

mas cria um diretório chamado $ {b} para os primeiros erros redondos e para fazer próximas. Poderia, por favor me diga o que devo fazer?

Publicado 13/01/2020 em 23:50
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Você coloca sua variável entre aspas simples, não tona '$ {b}' nunca será interpretado. Tente isto:

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

Não há necessidade de variáveis ​​$ arquivos e $ b.

Para resumir, vamos dizer var=3,

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

Esperemos que isso faz sentido. Citações funcionam como parênteses e colchetes.

Respondeu 13/01/2020 em 23:52
fonte usuário

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