Linuxのパス名展開ができない
0
引数なしでls
だけを試してみてください。
その結果、ba
で始まるファイルは存在しない、と思います。
現在のディレクトリ(カレントディレクトリ)はpwd
コマンドで確認できます。
(/home/Ayu
?)
パターン ba*
は、 ba
から始まるファイル名が1つもないとき文字列 ba*
に展開されます。つまり画像の場合の ls ba*
は ls 'ba*'
と書いたのと同じで、名前が文字通り ba*
のファイルを開こうとして失敗しています。パターン ba??
についても同様です。
この挙動を変えることもできます。 Bash では、 nullglob オプションをセットすると一致しなかったパターンを空文字列に展開します。 failglob オプションをセットすると一致しないパターンを含むコマンド行は実行せずにエラーを出します。オプションのセットは shopt -s failglob
のようにします。