Yanıtlar:
Ayrıştırmals
. Ayrıca ALL_CAPS_VARS kullanma
for i in "$incoming_dir"/*"$business_date"*; do
Etkileşimli olarak, alt dizinlere inmeyi önleyen ls
bir -d
seçenek vardır:
ls -d $INCOMINGDIR/*$BUSSINESSDATE*
"${i}"
. Ne olabileceğini asla bilemezsin i
.
my_file.doc[newline]another_persons_file.doc
ve bazı komut dosyalarının 2 dosya adı olarak gördüklerini "rm" denemesini umabilir ... Glenn'in bağlantısı mutlaka okunmalıdır (mywiki.wooledge.org'da herkes okumalı bütün sss ve aynı zamanda tuzaklar sayfası)
ls -d .*
Bu komutun özyinelemeli olması için hiçbir neden yoktur. Ancak $INCOMINGDIR/*$BUSSINESSDATE*
bir dizinle eşleşirse, dizinin kendisi yerine bu dizinin içeriği gösterilir. Ancak bu seviyenin ötesinde bir özyineleme olmazdı.
Bu etkiyi önlemek için bu komutu kullanın:
ls -d "$INCOMINGDIR/"*"$BUSSINESSDATE"*
for ... in
ls
çıkışlı komutlar risklidir.
Genel olarak find
daha iyi bir çözüm gibi görünüyor veya
for i in "$INCOMINGDIR/"*"$BUSSINESSDATE"*
printf %s\\n "$INCOMINGDIR/"*"$BUSINESSDATE"*