Contenu connexe Plus de Kenta Yamamoto (10) Tips for bash script2. bashスクリプトでやったことまとめ
• ちょっと大きめのスクリプトを書いた
o 今後これほど大きなbashスクリプト書くことはなさそうな
ので今回学んだことをまとめておく
o 内容: bashスクリプト, AWK
o ちなみに「bashスクリプトって関数あるんだ」というレベル
からはじめました
5. 変数の参照は "${VALUE}" で
• "$VALUE" ダブルクオートは基本
• 明示的に ${VALUE}
o 特殊パラメータ $0, $1, $2, ..., $@, $?, $# との区別
この例の場合、” ”がないとsshで意図通りにコマンドを渡せない
6. 別ファイルにして source
• 現在実行中のシェルに別のシェルスクリプトを
読みこませる
o .bashrc を編集したあとで読み込むときのあれ
• 互換性を高めるには .コマンド(推奨)
o FreeBSD, Solarisなどの従来のshでも使用可
7. 別ファイル sourceパターン
1. 単に読み込む
o スコープ: 別ファイルの変数は環境変数として読み込ま
れる(つまりグローバルなのでConfigなどに適している)
2. 関数にまとめてあとで実行
o しかし関数内の変数もグローバル
o なのでローカルにしたい場合はサブシェル( )で実行
8. オプションの処理は while getopts で
• source で別ファイルにした場所でやろうとする
と特殊パラメータの対象が変わってしまうので
読み込む側でやる
o オプションごとの処理を関数にまとめて別ファイルにする
o 関数の引数は "$OPTARG" で渡せる
• 例外は ?) で処理
10. awk -f, -v
1. awkコマンドを別に記述するには awk -f オプショ
ン
2. bashスクリプトの値をawkに渡したければ -v オ
プション