2
バッシュのグロビングと引数の受け渡し
次の簡略化されたbashスクリプトがあります #!/bin/bash files=("$@") if [ "X$files" = "X" ]; then files=$HOME/print/*.pdf; fi for file in "${files[@]}"; do ls "$file"; done 引数(ファイル名)をパラメーターとして渡すと、このスクリプトは適切なファイル名を出力します。一方、引数を渡さない場合は、出力されます /home/user/print/*.pdf: No such file or directory この場合、ファイル名が展開されないのはなぜですか、どうすれば修正できますか?通常の "files = $ *"よりも優先されることを読んだので、files=("$@")and "${files[@]}"構文を使用していることに注意してください。