echo $-1
、、、echo $-2
..の出力はどういうecho $-3
意味ですか?
私のLinuxコンピュータの1つに次のものが表示されます。
echo $-1
imsBEl1
echo $-2
imsBEl2
他のLinuxボックスには次のものが表示されます。
echo $-1
himBH1
echo $-2
himBH2
メモリの場所や他の場所にマッピングされていますか?
答え1
答え2
echo $-
現在のシェルのオプションを印刷します(-
プレフィックスなし)。無関係な追加タグ1
です2
。
答え3
Miroslavの回答に追加:
echo $-
現在のシェルのオプションを印刷します(-
プレフィックスなし)。 1と2は追加の無関係のマーカーです。
つまり、これらのオプションは各システムに個別に適用されます。
imsBEl
himBH
各記号の意味を調べてみました以下の意味はいくつかの説明でまとめられています。
-私
-i オプションがある場合、シェルは対話型です。
-中
モニターモード。ジョブ制御が有効になりました。
-雨
シェルは中括弧拡張を実行します(サポート延長ビュー)。この機能はデフォルトで有効になっています。
-S
-sオプションがある場合、またはオプション処理後に残りの引数がない場合は、標準入力からコマンドを読み取ります。このオプションを使用すると、対話型シェルを呼び出すときに位置パラメータを設定できます。
- 金利
エラー追跡
-エル
Bashがログインシェルとして呼び出されたかのように動作するようにする
- 時間
ハーシェル
-H 歴史拡張
デフォルトでは、対話型シェルではこの機能が有効になっています。
答え4
既存の回答を拡張するには試してecho "${-1}"
くださいecho "${-2}"
。「無効な置換」エラーハイフンは-1
変数名には使用されませんが、変数名には使用されません。値を置き換える変数名がある場合その前に定義されていません。たとえば、
$ unset foo
$ echo "${foo-bar}"
bar
$ foo=test
$ echo "${foo-bar}"
test