2014年3月8日土曜日

Shellクックブック

0. シェルプログラミングの基礎知識

0. 注意点
  1. シェルスクリプトを書くときに気をつけていること(その1) 
0. シェルの入出力制御あれこれ

0. 配列を使用する

0. 連想配列
  1. 配列(連想配列)
  2. bashの小技?その4(配列、連想配列とループ)
  3. 連想配列(keyを文字列)
0. /bin/sh と /bin/bash の違い

0. 変数内文字列置換
  1. shとbashでの変数内の文字列置換など
  2. bashの変数内文字列置換まとめ
0. bashで変数内の改行コードを除去する 

0. bashで文字列分解する時、cutやawkもいいけど、setの方が早い、けどreadが最強

0. ifやtestで文字列を変数を評価する場合は、""で囲むこと
ex1.  if [ "$VAR" = "" ]; then echo "empty"; fi
ex2.  if [ -z "$VAR" ]; then echo "empty"; fi

0. 計算式の記述2種
ex1. VAR=1; ANS=$(( $VAR + 1 ));
ex2. VAR=1; ANS=`expr $VAR + 1`;

0. 関数の使用方法

0. 【 set 】 シェルのオプションを設定する

0. [Bash]標準出力・標準エラー出力の全て(1>&2とか)まとめ

0. 標準エラーをターミナルに出力しない
ex. $find ./ 2> /dev/null

0. kill
  1. pgrep, pkill を使用してプロセスを殺す 
  2. シェルスクリプトが途中でTerminatedする笑い話
1. 外部ファイルに定義した関数のインポート
参考:シェルスクリプトで外部ファイルに記述された変数を利用する方法
sh/bash系なら「. ファイル名」
csh/tcsh系なら「source ファイル名」

2. 値が設定されている場合それを設定、ない場合初期値を設定
export AAA=${AAA:-"/aaa"}

3. ファイルから文字列抽出サンプル
egrep -h "検索文字列" ファイル名 | awk -F '["]' '{print $1":"$2" "$3" "$4}'| awk '{print substr($4,9,4)"/"03"/"substr($4,2,2)}'| sort -k 3,3 | uniq

4. xargsとパイプを使用してコマンドにパラメータを渡す

5. 文字コード変換

6. 各コマンドで使用可能な正規表現まとめ

7. 終了コード
  1. 終了コードを表示する
  2. 実行したコマンドの終了コードを表示する
8. シェルスクリプトでプロセスを監視し自動実行&自動kill

9. for 文の使用方法

10. while 文の使用方法

11. コードの解説 (入力待ち、whileループ、case)

12. shutdownアカウントによる自動シャットダウン

13. シェルでゼロパディング

14. シェルスクリプトでの疑似乱数の取得

15. if 文と test コマンド

16. シェルスクリプトで空文字列かどうか調べる。

17. 何もしない組み込みコマンド ":" (コロン)の使い道

18. シェルで変数のインクリメントに expr を使うと100倍遅い件

19. flock(1)でシェルスクリプトの排他制御(Linux)

20. ファイルのテキスト読み込み
  1. ファイルのテキスト読み込みサンプル 
21. /etc/rc.d/init.d/function

0 件のコメント:

コメントを投稿