Bash 基本コマンド
MacやLinuxのバッチを作る時に重宝するbash。
よく使うものをまとめておく。
比較
構文
if [ 条件 ];
then
実行内容
elif [ 条件 ];
then
実行内容
else
実行内容
fi
if
の後ろと、 []
の内側に1つずつ半角スペースが必要な点に注意。
比較演算子(文字)
文字列を比較する場合、 =
を使用する。
if [ "$1" = "TEST" ];
then
echo "アップグレードを開始します。"
fi
比較演算子(数値)
数値を比較する場合は、 =
ではなく、 '-eq' を使用する。
if [ "$1" = 100 ];
then
echo "100です。"
fi
文字列の比較で -eq
を使用すると、下記エラーが発生する。
[: TEST: integer expression expected
""
で囲う理由
比較時に変数を 変数が空の場合、下記エラーが発生するため。
[: =: unary operator expected
変数宣言
構文
変数名=値
例
TEST_STR="テスト文字列"
定数
readonly
を付与する。
readonly TEST_STR="テスト文字列"
echo
echo 文字列
変数の改行コードを改行として出力したい場合
変数は、 ""
で囲わないと、変数内の改行コードが出力に反映されない。
echo "$TEST"
文字列結合
多くの言語では文字列結合の際に +
や .
などの演算子で文字列型の変数や値を結合するため、当然のようにbashでも文字列結合を行う際は演算子が必要と思ってしまうのだが、bashの場合は演算子を結合する必要はなく、そのまま並べれば良い。
echo 'Test' 'Script'
# Test Script
echo 'Test''Script'
# TestScript
test=TEST-
echo $test'Script'
# TEST-Script
echo "${test}Script"
# TEST-Script