printfEcho yerine komutu da kullanabilirsiniz :
printf '%s\n' *
printfdaha üstün echoolduğunu, bu durumda echoyok değil "çift çizgi" saygı ( --) bağımsız değişken listesinin sonunu belirtmek için (bunu test nedir Ubuntu 14.04 dahil bazı sistemleri üzerinde):
llama@llama:~$ mkdir -p Misc/unix210948
llama@llama:~$ cd !$
cd Misc/unix210948
llama@llama:~/Misc/unix210948$ touch -- -n
llama@llama:~/Misc/unix210948$ ls
-n
llama@llama:~/Misc/unix210948$ echo *
llama@llama:~/Misc/unix210948$ echo -- *
-- -n
llama@llama:~/Misc/unix210948$ printf '%s\n' *
-n
Bu durumda, istenen sonucu elde edemezsiniz echo(adlı -nbir seçenek bir seçenek olarak yorumlanır ve çift çizgi çalışmaz, bu nedenle kullanmanız gerekir printf).
Eğer gerektiği Not hep birlikte bilinmeyen veriler ile uğraşırken yukarıdaki gibi bir biçim dizesi kullanmak printfaksi beklenmeyen sonuçlar alabilir çünkü (yorumlarda bu işaret için @ G-Man sayesinde!):
llama@llama:~/Misc/unix210948$ rm ./-n
llama@llama:~/Misc/unix210948$ touch '\n'
llama@llama:~/Misc/unix210948$ ls
\n
llama@llama:~/Misc/unix210948$ printf -- *
llama@llama:~/Misc/unix210948$ printf '%s\n' *
\n
\nAdlı bir dosya tarafından yeni satır olarak yorumlanır printf. Bundan kaçınmak için, printf( %s) için bir biçimlendirme dizesi kullanırız ve dosya adlarını (daha önce olduğu gibi globbing yoluyla genişletilir) geçiririz.
Bu printf+ biçimlendirme dize çözeltisi (bu bir ile başlayan ve aynı zamanda davranır "gizli" dosyaları, dosya adları çeşitli işleyebilir ., aynı ls):
llama@llama:~/Misc/unix210948$ rm ./*
zsh: sure you want to delete all the files in /home/llama/Misc/unix210948/. [yn]? y
llama@llama:~/Misc/unix210948$ touch -- '-n' '\n' 'name with spaces' '.hidden'
llama@llama:~/Misc/unix210948$ ls
-n \n name with spaces
llama@llama:~/Misc/unix210948$ printf '%s\n' *
-n
\n
name with spaces
Senin Eğer printfdesteklerin %q, bunu da kullanabilirsiniz ( printf '%q\n' *). Dosya adlarınızda garip karakterler varsa boşluklardan, yeni satırlardan vb. Kaçacaktır. ( Bunu işaret ettiği için sohbet eden muru'ya teşekkürler !)
libc*soya da senin berbatld-linux*so