Я зовсім новачок сценаріїв Баша. У мене є "тестовий сценарій", який я використав як основу для більш просунутого / корисного сценарію:
#!/bin/bash
files=$1
for a in $files
do
echo "$a"
done
Коли я закликаю це без жодних лапок, він просто збирає один файл у каталозі:
testscript *.txt
Але коли я називаю це цитатами, він працює правильно і вибирає всі текстові файли:
testscript '*.txt'
Що тут відбувається?
for a in "$@"; do(абоfor a; do) у своєму сценарії, тим самим залишаючи глобус до зовнішньої оболонки, а не залишати без лапок.