私は、Bashスクリプトを作成するのは初めてです。私は、より高度で便利なスクリプトの基礎として使用した「テストスクリプト」を持っています。
#!/bin/bash
files=$1
for a in $files
do
echo "$a"
done
引用符なしでこれを呼び出すと、ディレクトリ内の1つのファイルが選択されます。
testscript *.txt
しかし、引用符で呼び出すと、正しく動作し、すべてのテキストファイルが選択されます。
testscript '*.txt'
ここで何が起こっていますか?
これは一見の価値があります。 guide.bash.academy
—
vascowhite
for a in "$@"; do
(またはfor a; do
)することです。したがって、引用符を省略せずに、グロブを外部シェルに残します。