関数があるとします
print_args () {
for i in $@; do
echo "$i"
done
}
私がする時
foo='\*'
print_args $foo
私は得る
\*
(バックスラッシュ付き)出力として。
代わりにの定義を変更するとfoo
、foo='*'
の実行時に現在のディレクトリ内のすべてのファイルが取得されますprint_args $foo
。
したがって、バックスラッシュを含めるか、解釈しますが、文字通り*
取得する方法がわかりません。*
二重引用符を含めても含めなくても、出力は同じ$foo
です。