LoginSignup
3
3

More than 5 years have passed since last update.

シェルスクリプト その2

Last updated at Posted at 2016-01-17

シェルスクリプトのメモの続きです。ここではFOOをシェルの変数名の例として使います。

・\$FOOや\${FOO}として端末上でシェル変数とみなす。
  Ex: "echo $FOO"で変数の値を表示する。

・"sed"コマンドはテキスト内の指定した文字列を別の指定した文字列に変換する。
  LINK: http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230879/?rt=nocnt

・FOO=やFOO=""で値を代入すると未設定の変数となるが実際はNULLが代入されている。

・"echo ${FOO:=something}"はFOOが変数名として使用されていない時、もしくわ未設定の時のみ値が代入される。

・":"を省略することで未設定時に値を代入されなくなる。

・":-"に変えることで変数未使用・未設定時に値をそのまま表示するが代入されない。

・":?"に変えることで変数未使用・未設定時に値をそのまま表示するが代入されない。用途は変数が使用済みか確認するなど。

・":+"に変えることで変数が使用されている時のみ値をそのまま表示するが代入されない。

・書き込み禁止の変数一覧"\$0~\$9, \$#, \$*, \$@, \$?, \$$, \$!, \$-"

・"\$0"はシェルスクリプトの名前が入っている。

・"\$1~\$9"は1番目から9番目の引数が入っている。

・"\$?"はコマンド終了時のステータスを保持している。

・"\$$"は現在動作中のプロセスID(PID)がセットされている。"ps"コマンドで確認可

・"\$!"バックグラウンドで動作中のPID

・"\$-"はシェル起動時のフラグや、"set"コマンドを使って設定したフラグの一覧がセットされている(フラグがなになのか理解できていないが、後に"set"コマンドについての説明があるみたいなので、そこで理解できればメモします。)

参考資料:入門UNIXシェルプログラミング 改訂第2版 第2章(発行所:SBクリエーティブ株式会社)

シェルスクリプト その1
シェルスクリプト その3
シェルスクリプト その4
シェルスクリプト その5
シェルスクリプト その6
シェルスクリプト その7

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3