starzware

ITスキル

bash

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