lsbunu yapma seçeneği yoktur, ancak unix & linux ile ilgili güzel şeylerden biri, uzun soluklu ve inelegant boru hatlarının kolayca bir kabuk betiği, işlevi veya diğer adı haline getirilebilmesidir. ve bunlar, sırayla, diğer programlardaki gibi boru hatlarında da kullanılabilir.
(NOT: Fonksiyonlar ve takma isimlerle ilgili bazı kapsam sorunları vardır. Komut dosyaları, bunları okuyabilen ve çalıştırabilen herhangi bir çalıştırılabilir dosya için kullanılabilir. Takma adlar ve işlevler yalnızca geçerli kabukta kullanılabilir - bir alt kabuğun .profile / .bashrc vb. onları ve böylece onları kullanılabilir hale getirir.Ayrıca, herhangi bir dilde - bash / sh, awk, perl, python ve diğerleri dahil olmak üzere herhangi bir dilde yazılabilir - hangisi iş için en iyisi veya hangisine aşina olursanız olun)
Örneğin
alias lsf='find . -maxdepth 1 -type f -print0 | xargs -0r ls'
Tüm geleneksel lsseçenekleri kullanabilmeniz için xargs ekledim.lsf -lrS
O kullandığından find, normalde gizli dotfiles tüm görüntülenir ve dosya adları tüm ./ öneki getirilecek - o göreceğiniz tek fark hakkında.
Nokta dosyalarını hariç tutabilirsiniz, ! -iname '.*'ancak sonra takma adın iki sürümüne sahip olmanız gerekir;
alias lsf2='find . -maxdepth 1 -type f -a ! -iname '\''.*'\'' -print0 | xargs -0r ls'
Alternatif olarak, lsfbir takma ad yerine bir komut dosyası olsaydı , seçenekleri (belki getopts ya da / usr / bin / getopt ya da benzerleriyle) ayrıştırabilir ve -amevcut olmadıkça nokta dosyalarını hariç tutabilirsiniz .
findkomut ne istersen yapmanın en iyi yoludur. Bazı güvenilir diğer seçenekler için, kabuğa özgü komutları incelemelisiniz (ve bunlar taşınabilir olan herhangi bir şeydir)!