人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Linuxのシェルスクリプトにおいて、
特殊な変数の
「$-」
って何ですか?

参考書では、「シェル起動時のフラグ」とあるのですが、どんなときに使うどんな機能なのでしょうか?

●質問者: hina1981
●カテゴリ:コンピュータ
✍キーワード:Linux うどん とある シェル シェルスクリプト
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● くまっぷす
●68ポイント ベストアンサー

http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html

sh(bash)自体についているオプションを保持しています。

例えば、

#!/bin/bash

echo $-;

というようなスクリプト(test.sh)を定義しておいて

bash test.sh

を実行するとデフォルトで有効になっている-hフラグ、-Bフラグが立ってるよいうことで

hB

と表示されますし、

bash -aC test.sh

を実行すると

ahBC

と表示されます。

(※各フラグの意味に付いてはURLのシェルの組み込みコマンドのsetのところを参照してください)

◎質問者からの返答

ありがとうございます。

現在のシェルの属性のようなものが格納されていると考えればよいのでしょうか。

それぞれの文字の意味は、

---

?h

コマンドの位置を記憶し、実行時にこれを引きます。これはデフォルトで有効になっています。

?B

シェルはブレース展開 (前述の ブレース展開 を参照) を実行します。これはデフォルトで有効です。

---

ということなのですね。

今まで、下記のように表示されていてナゾだったのが解決しました。

# echo $-

himBH

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ