シェルスクリプト(bash)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*シェルスクリプト(bash) [#u3889a99]
**定義 [#y6fe32f1]
-スクリプトファイルの先頭行に書く宣言(シェバング)
--#!/bin/bash
**変数 [#qa4a56a8]
***配列 [#h67f3206]
-配列に値をセット
ARRAY=(1 2 3)
ARRAY+=(4)
-配列の値を取得
--先頭の要素の値を取得
${ARRAY}
--要素の位置を指定して値を取得
${ARRAY[0]}
--要素数を取得
${#ARRAY[@]}
-サンプル
ARRAY=(1 2 3)
ARRAY+=(4)
for ((i=0; i<${#ARRAY[@]}; i++))
do
echo ${ARRAY[$i]}
done
**シェル関数 [#jd0237ef]
-関数を定義
<function-name>() {
echo $1
}
-関数を呼び出し
<function-name>
<function-name> a b c ※引数あり
***引数 [#c98e0589]
-引数の値を取得
$1
-引数の数を取得
$#
***戻り値(終了ステータス) [#a3dfd215]
-戻り値の値
--0:真
--0以外の数値:偽
-シェル関数の終了
--真(正常終了)
return
return 0
--偽(異常終了)
return 1 ※0以外の数値を指定する
-(シェル関数の呼び出し元で)戻り値を取得
$?
**途中でコマンドを実行する [#ed54632b]
-`<command>` ※バッククオートで囲む
-$(<command>)
**条件分岐 [#c348d737]
-if
if [ 条件式 ]; then
<command>
elif [ 条件式 ]; then
<command>
else
<command>
fi
if test 条件式; then
<command>
fi
-case
case <変数> in
<value1> )
<command>
;;
<value2> )
<command>
;;
* )
<command>
;;
esac
**ループ [#da33d793]
-while
while [ <条件式> ]
do
<comand>
done
--CSVファイルを読み込む
CSVFILE="./sample.csv"
while IFS=, read col_a col_b col_c;
do
a_arr+=($col_a)
b_arr+=($col_b)
c_arr+=($col_c)
done < $CSVFILE
※環境変数IFSは内部フィールド区切り文字(Internal Field Se...
-until
until [ <条件式> ]
do
<command>
done
-for
for str in 1 2 3
for str in `seq 0 10`
for str in {0..10}
do
<command>
done
**演算子 [#if8c532c]
***制御演算子 [#l4c6640e]
-And (&&)
<command1> && <command2>
※左辺の実行結果が真(0)の場合、右辺を実行する
-Or (||)
<command1> || <command2>
※左辺の実行結果が偽(0以外)の場合、右辺を実行する
***論理演算子 [#o4b51b8c]
-And (-a)
-Or (-o)
***数値比較演算子 [#vf87568f]
-等しい(-eq) ※=
-等しくない(-ne) ※!=
-より小さい(-lt) ※<
-以下(le) ※<=
-より大きい(gt) ※>
-以上(ge) ※>=
**テキストファイルの読み込み [#r9367666]
-read
*参照 [#f51c4bc6]
-[[bash]]
-[[Linuxコマンド]]
-[[シェルスクリプト]]
-[[シェル]]
終了行:
*シェルスクリプト(bash) [#u3889a99]
**定義 [#y6fe32f1]
-スクリプトファイルの先頭行に書く宣言(シェバング)
--#!/bin/bash
**変数 [#qa4a56a8]
***配列 [#h67f3206]
-配列に値をセット
ARRAY=(1 2 3)
ARRAY+=(4)
-配列の値を取得
--先頭の要素の値を取得
${ARRAY}
--要素の位置を指定して値を取得
${ARRAY[0]}
--要素数を取得
${#ARRAY[@]}
-サンプル
ARRAY=(1 2 3)
ARRAY+=(4)
for ((i=0; i<${#ARRAY[@]}; i++))
do
echo ${ARRAY[$i]}
done
**シェル関数 [#jd0237ef]
-関数を定義
<function-name>() {
echo $1
}
-関数を呼び出し
<function-name>
<function-name> a b c ※引数あり
***引数 [#c98e0589]
-引数の値を取得
$1
-引数の数を取得
$#
***戻り値(終了ステータス) [#a3dfd215]
-戻り値の値
--0:真
--0以外の数値:偽
-シェル関数の終了
--真(正常終了)
return
return 0
--偽(異常終了)
return 1 ※0以外の数値を指定する
-(シェル関数の呼び出し元で)戻り値を取得
$?
**途中でコマンドを実行する [#ed54632b]
-`<command>` ※バッククオートで囲む
-$(<command>)
**条件分岐 [#c348d737]
-if
if [ 条件式 ]; then
<command>
elif [ 条件式 ]; then
<command>
else
<command>
fi
if test 条件式; then
<command>
fi
-case
case <変数> in
<value1> )
<command>
;;
<value2> )
<command>
;;
* )
<command>
;;
esac
**ループ [#da33d793]
-while
while [ <条件式> ]
do
<comand>
done
--CSVファイルを読み込む
CSVFILE="./sample.csv"
while IFS=, read col_a col_b col_c;
do
a_arr+=($col_a)
b_arr+=($col_b)
c_arr+=($col_c)
done < $CSVFILE
※環境変数IFSは内部フィールド区切り文字(Internal Field Se...
-until
until [ <条件式> ]
do
<command>
done
-for
for str in 1 2 3
for str in `seq 0 10`
for str in {0..10}
do
<command>
done
**演算子 [#if8c532c]
***制御演算子 [#l4c6640e]
-And (&&)
<command1> && <command2>
※左辺の実行結果が真(0)の場合、右辺を実行する
-Or (||)
<command1> || <command2>
※左辺の実行結果が偽(0以外)の場合、右辺を実行する
***論理演算子 [#o4b51b8c]
-And (-a)
-Or (-o)
***数値比較演算子 [#vf87568f]
-等しい(-eq) ※=
-等しくない(-ne) ※!=
-より小さい(-lt) ※<
-以下(le) ※<=
-より大きい(gt) ※>
-以上(ge) ※>=
**テキストファイルの読み込み [#r9367666]
-read
*参照 [#f51c4bc6]
-[[bash]]
-[[Linuxコマンド]]
-[[シェルスクリプト]]
-[[シェル]]
ページ名: