トップ 一覧 ping 検索 ヘルプ RSS ログイン

シェルプログラミング 変数の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!シェルプログラミング 変数
[シェルプログラミング]

::変数
*変数は宣言せずに使用
*すべて文字列として扱われる
*大文字小文字を区別
*変数の前に$をつけることで、値を取得できる
*変数に値を割り当てる場合以外$を使う
*echoで内容を出力できる

ソース
 msg=Hello
 echo $msg
結果
 Hello

::ユーザの入力
*readコマンドを使用すると、ユーザからの入力を変数に格納できる

ソース
 echo your name ?
 read username
 echo your name is $username
結果
 your name ?
 yagi
 your name is yagi

::クォート
*二重引用符内の$変数は値が展開される
*引用符内の$変数は値が展開されない
*\$は$をエスケープ

 myvar="Hello"
,ソース,出力
,echo $myvar,Hello
,echo "$myvar",Hello
,echo '$myvar',$myvar
,echo \$myvar,$myvar

::環境変数

,環境変数,説明
,$HOME,ホームディレクトリ
,$PATH,コマンド検索パス
,$PS1,コマンドプロンプト
,$IFS,内部フィールドセパレータ。シェルが入力を読むときに区切りに使用する文字
,$0,シェルスクリプトの名前
,$#,渡されたパラメータ数
,$$,プロセスID

*env

::パラメータ変数
,パラメータ変数,説明
,$1、$2・・・,スクリプトに渡されたパラメータ
,$*,すべてのパラメータを1つの変数で表したもの $IFS使用
,$@,すべてのパラメータを1つの変数で表したもの $IFS使用しない

ソース(hoge)
 IFS=''
 echo "$1"
 echo "$2"
 echo "$*"
 echo "$@"
結果
 $ sh hoge  aaa bbb ccc
 aaa
 bbb
 aaabbbccc
 aaa bbb ccc


----
上記はこの本からの覚書。

非常にわかりやすく説明されている良書
{{amazon 4797327014}}