シェルスクリプト(bash)のまとめ。色々と間違っている可能性あり
サンプル †
- カレントディレクトリのディレクトリ全てをtarで固める
for file in `ls -1`; do tar cjf $file.tar.bz2 $file; done
- カレントディレクトリのファイルの空白を_に変換する
for file in *; do mv "$file" `echo $file | tr ' ' '_'`; done
- カレントディレクトリのファイル名のAAAをBBBに置換する
for f in *; do mv $f ${f/AAA/BBB}; done
- カレントディレクトリの連番数字ファイル名を0詰めにする(下記例は2桁)
for f in *; do mv "$f" $(printf %02d ${f%.*}).${f##*.}; done
言語仕様 †
変数 †
- 変数の値を変数名として値を参照する方法
eval echo '$'$VAR
特殊パラメータ †
パラメータ | 内容 |
$$ | スクリプトのプロセスID |
$# | スクリプトに渡された引数の数 |
$0 | スクリプト名 |
$1,$2,,, | 引数の要素 |
$* | |
$@ | |
配列 †
制御文 †
数値と文字列 †
関数 †
定義方法 †
引数 †
戻り値 †
デバッグ †
- デバッグ実行
$ /bin/bash -x script.sh
- 文法チェック
$ /bin/bash -n script.sh