私が普段よく知っている内容$-
。最近のCentOSでは、次のようになります。
[grochmal@orion ~]$ echo $-
himBH
hmBH
両方のオプションから来て、私のシェルがインタラクティブであることを意味しますset
。i
しかし、私のArch Linuxでは、次のようになります。
[grochmal@haps ~]$ echo $-
himBHs
役に立つものが見つからず、エラーが発生しますman bash
。set -s
これはどういうs
意味ですか?
ベストアンサー1
この-s
オプションは、「標準入力」の「sourceコマンド」を意味するbash start callです-s
。マニュアルから:
-s -sオプションがある場合、またはオプション処理後に残りの引数がない場合は、標準入力からコマンドを読み取ります。このオプションを使用すると、対話型シェルを呼び出すときに位置パラメータを設定できます。
テストするのはとても簡単です。
$ bash -c 'echo $-'
hBc
$ bash -sc 'echo $-'
hBcs
デフォルトでは、以前のすべてのbashバージョンに対して新しいシェルを起動すると、このオプションは設定されません。
$ b32sh -li
$ echo $-
himBH
しかし、それはbash 4.4にあります。
$ b44sh -li
$ echo $-
himBHs