「$-」内の「s」とは何ですか?


10

私は通常、の内容をよく知っています$-。最近のCentOSでは、次のようになっています。

[grochmal@orion ~]$ echo $-
himBH

hmBHはすべてのオプションsetでありi、私のシェルがインタラクティブであることを意味します。

それでも、私のArch Linuxでは次のものが得られました。

[grochmal@haps ~]$ echo $-
himBHs

私はで有用な何かを見つけることができませんman bashし、set -s私にエラーを与えます。それは何のs略ですか?

回答:


13

-sオプションでは、とのbashの開始呼び出しで-s、標準の『手段「からsourceコマンド』のマニュアルから。:

-s -sオプションが存在する場合、またはオプション処理後に引数が残っていない場合、コマンドは標準入力から読み取られます。このオプションを使用すると、対話型シェルを呼び出すときに位置パラメータを設定できます。

テストは非常に簡単です。

$ bash -c 'echo $-'
hBc

$ bash -sc 'echo $-'
hBcs

以前のすべてのbashバージョンで新しいシェルを開始しても、デフォルトではそのオプションは設定されません。

$ b32sh -li
$ echo $-
himBH

しかし、それはbash 4.4にあります:

$ b44sh -li
$ echo $-
himBHs

そして、第2部では、Archでそれを入手した理由を説明します。私のCentOSの値BASH_VERSIONは4.2.46(1)-releaseですが、Archでは4.4.5(1)-releaseです。
2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.