Temel soru: Linux dizin adı olarak değişken bir içerik kullanılarak

oy
1

Her zip dosyasının adıyla yeni dizin şu anda başka biri, belirli bir dizin var olmak istiyorum. Bu amaçla 'döngüsü için' bir yazdım:

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

ama sonraki olanlar için birinci tur ve yapmak hataları için $ {b} adında bir dizin oluşturur. Eğer ne yapmam gerektiğini söyler misiniz?

Oluştur 13/01/2020 saat 23:50
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
1

Basit tırnak içinde değişken koymak, orada ön '$ {b}' yorumlanır asla. Bunu dene:

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

değişkenler $ dosya ve $ b gerek yok.

Özetlemek gerekirse, let diyelim var=3,

  • echo "$var" gösterecek 3
  • echo '$var' gösterecek $var
  • echo "'$var'" gösterecek '3'
  • echo '"$var"' gösterecek "$var"

Umarım bu mantıklı. Tırnaklar köşeli parantezleri gibi işlev görür.

Cevap 13/01/2020 saat 23:52
kaynak kullanıcı

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