21/11/21 22:35:21.95 .net
>>493
check() {
set -- "$1"*
[ -e "$1" ]
}
最短だとこうかな?
set -- "$1"* でシェルのglob展開を用いて位置パラメーターにセットする
ファイルが見つかった場合、そのファイル名が$1に入る
ファイルが見つからなかった場合、"$1"*という文字列が入る
まずありえないとは思うけど"$1*"という名前にアスタリスクが含まれた
ファイルがある可能性を考えると>>496よりも-eでチェックした方が良い
と>>498で書いてあったかw
>>497
> >>493のls使ってる方が見た目なにしたいのかわかりやすいと思うけど
ls $f* は意味がない。シェルのglob展開されてからlsを実行してる。
つまりls file1 file2 file3 のようなものを実行してるだけ。
呼び出す前にすでにファイル一覧を取得してる
単に呼び出しコストが高い[ -e ] になってる