Bash senaryosunda oldukça yeniyim. Ben daha gelişmiş / kullanışlı bir komut dosyası için temel olarak kullanılan bir "testscript" var:
#!/bin/bash
files=$1
for a in $files
do
echo "$a"
done
Ben herhangi bir tırnak olmadan çağrıldığında sadece bir dizinde bir dosya alır:
testscript *.txt
Ama tırnak işareti ile aradığımda doğru çalışıyor ve tüm metin dosyalarını seçer:
testscript '*.txt'
Burada neler oluyor?
for a in "$@"; do(veyafor a; do), böylece tırnak işaretlerini dışlamak değil, dış kabuğa globbing bırakmaktır.