ワイルドカードが有効になっているかどうかをテストする

ワイルドカードが有効になっているかどうかをテストする

set +fワイルドカードを使用して有効/無効にできることを知っていますset -f

しかし、現在有効になっていることをどのようにテストしますか?

一意の名前を持つファイルを作成し、そのファイルと一致するパターンがあるかどうかをテストできます。それでも、よりクリーンなソリューションを期待しています。

ベストアンサー1

これを行うか、set -fそうでなければグローブを無効にする場合:,$-含まれますf:

$ echo $-
himBHs
$ set -f
$ echo $-
fhimBHs
$ bash -fc 'echo $-'
fhBc

だから:

[[ $- = *f* ]]

または:

case $- in
 *f*)  ... ;;
esac

おすすめ記事