victorious_a
@victorious_a

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Linuxのパス名展開ができない

Linuxのパス名展開を学んでいたのですが、画像のような表示が出てきて、*, ?のどちらもうまくいきませんでした。原因は何でしょうか?
スクリーンショット 2024-11-15 190704.png

0

2Answer

引数なしでlsだけを試してみてください。
その結果、baで始まるファイルは存在しない、と思います。
現在のディレクトリ(カレントディレクトリ)はpwdコマンドで確認できます。
/home/Ayu ?)

0Like

パターン ba* は、 ba から始まるファイル名が1つもないとき文字列 ba* に展開されます。つまり画像の場合の ls ba*ls 'ba*' と書いたのと同じで、名前が文字通り ba* のファイルを開こうとして失敗しています。パターン ba?? についても同様です。

この挙動を変えることもできます。 Bash では、 nullglob オプションをセットすると一致しなかったパターンを空文字列に展開します。 failglob オプションをセットすると一致しないパターンを含むコマンド行は実行せずにエラーを出します。オプションのセットは shopt -s failglob のようにします。

0Like

Your answer might help someone💌