「Aix3.2のガイド」という本には、KornShellコマンドのset -f
を使用できると書かれています。 「ファイル名の生成を無効にする」とはどういう意味ですか?
set -f
で何が起こるか ?
承認された回答:
set -f
ファイル名の拡張を無効にするポータブル(つまりPOSIX)の方法です。
有効になっている場合(デフォルトまたはset +f
)、ファイル名拡張は、シェルによって実行される操作であり、可能な場合は、以下を含むコマンドライン引数を置き換えます。
- ワイルドカードの発生(
?
=任意の1文字と*
=任意の数の文字) - 角かっこで囲まれた範囲(例:
[a-z12]
=a
の任意の文字z
へ 、または1
または2
) - 一致しないリスト(例:
[^a-z]
=a
の範囲外の文字z
へ ) - および文字クラス(例:
[[:xdigit:]]
=16進数を表すために使用できる任意の文字)
それらに一致するファイル名で。
無効にすると、これらの引数は変更されません。
$ pwd
/etc/samba
$ echo *
lmhosts smb.conf
$ echo *o??
smb.conf
$ set -f
$ echo *
*
$ echo *o??
*o??