| bash TIPS |
| 環境変数 |
# 設定
HOGEHOGE=aaa
export HOGEHOGE
# 1行で設定
HOGEHOGE=aaa ; export HOGEHOGE
|
| 変数 |
# 設定
hogehoge=aaa
# 取得
echo $hogehoge
|
| 起動時の引数 |
# 自身
echo $0
# 第一引数, 第二引数,
$1 $2 ... $9
#引数の数
$#
#実行プロセス
$$
|
| if |
if [ xxx ]; then
elif [ xxx ]; then
else
fi
|
| while |
while [ xxx ]; do
break
done
|
| foreach |
for tmp_value in array ; do
break
done
|
| for |
for (i=0; $i < 5 ; ++i) ; do
done
|
| 配列 |
a=(4 5 6)
echo ${a[0]} //4
echo ${#a[@]} //3個
|
| ヒアドキュメント |
cat << _EOT_
line1
line2
_EOT_
|
| 条件文 |
(AND)
if [ -f a.txt -a -f b.txt ]
または
if [ -f a.txt ] && [ -f b.txt ]
(0R)
if [ -f a.txt -o -f b.txt ]
または
if [ -f a.txt ] || [ -f b.txt ]
(NOT)
if [ ! -f a.txt ]
|
| 1項演算子 |
| -r |
読めるか |
| -w |
書き込めるか |
| -x |
実行できるか |
| -e |
存在するか |
| -s |
ゼロ以外か |
| -d |
ディレクトリか |
| -T |
テキストファイルか |
| -z |
ゼロか |
| -f |
通常ファイルか |
|
| コマンド実行結果 |
# リターンコード(呼び出したコマンドの戻り値)
$?
|
| リダイレクト |
# 上書き
> file
# 追加
>> file
# STDERRにリダイレクト(STDOUTを含まず)
2> file
# STDERRにリダイレクト(STDOUTを含む)
> file 2> &1
|
| グルーピング |
# {}でグルーピング
{
echo aaa
echo bbb
} >> file
|
| シェルファイル名などを取得 |
・ファイル名を取得
{$0##*/}
・拡張子を取得
{$0##*.}
・拡張子なしのファイル名を取得
{$0%.*}
|