Neler olduğu hakkında bir fikir edinmek için
% alias striplines='print -lr awk " /^$/ {print \"\n\"; } /./ {printf( \" %s \",$0);}"'
% striplines
awk
/^$/ {print "\n"; } /./ {printf( " %s ",zsh);}
Yana $
karakterler çift tırnak (takma ad genişletilir sonra onlar genişletilmiş yaparken) 'de, onlar kabuk tarafından yorumlanır. Alıntıyı doğru yapmak için, tüm takma adı tanımını tek tırnak içine almak daha kolaydır. Tek tırnak içinde, takma ad kullanıldığında genişletilecek olan şey bulunur. Şimdi argümanı awk
çift tırnak içine alındığına göre, daha önce ters eğik çizgi kullanmanız gerektiği açıktır \"$
.
alias striplines='print -lr awk " /^\$/ {print \"\n\"; } /./ {printf( \" %s \",\$0);}"'
Tek tırnaklı bir dizeyi tek tırnak içine almak için yararlı bir deyim, tek tırnaklı bir dizeye '\''
değişmez tek tırnak koymak için hemen hemen bir yoldur. Teknik olarak, tek tırnaklı bir dizenin, ters eğik çizgili '
ve başka bir tek tırnaklı dizenin yan yana yerleştirilmesi vardır . Sondaki bitişik boş dize ''
kaldırılabilir.
alias striplines='print -lr awk '\'' /^$/ {print "\n"; } /./ {printf( " %s ",$0);}'\'
Bu uzun açıklamadan sonra bir öneri: bir takma ad için çok karmaşık olduğunda bir işlev kullanın .