Bash基本文法
- 27 Jun 2023
Bash(Bourne Again SHell)は、Linux システムで一般的に使用されるシェルスクリプト言語です。以下に、Bash の基本的な文法要素を説明します。
# を使用してコメントを追加できます。 # 以降のテキストは無視されます。# これはコメントです
echo コマンドを使用してテキストを出力できます。
\ を使用します。echo "Hello, World!"
echo "This is a \"quoted\" text."
$ を使って変数名を展開します。name="John"
age=25
echo "Hello, $name!"
if 文を使用して条件分岐を行います。
elif を使用して、複数の条件をチェックします。if [ condition ]; then
# 条件が真の場合に実行されるコマンド
else
# 条件が偽の場合に実行されるコマンド
fi
case 文を使用します。case 値 in
パターン1)
# パターン1に該当したときに実行されるコマンド
;;
パターン2)
# パターン2に該当したときに実行されるコマンド
;;
...
パターンn)
# パターンnに該当したときに実行されるコマンド
;;
esac
for ループや while ループを使用して反復処理を行います。for variable in list; do
# 反復処理のコマンド
done
while condition; do
# 条件が真の間、反復処理のコマンド
done
test コマンドまたは [[...]] 構文を使用して条件式を評価します。
[[ ... ]] 構文を使用すると、より高度な条件式を作成することができます。例えば、文字列の比較やパターンマッチングが可能です。# test コマンドを使用した条件式
if test $x -eq 5; then
echo "x is equal to 5"
fi
# [[]] 構文を使用した条件式
if [[$x -eq 5]]; then
echo "x is equal to 5"
fi
function my_function() {
# 関数のコマンド
}
# 関数を呼び出す
my_function
$() を使用します。files=`ls`
count=$(wc -l file.txt)
${#array[@]} を使用します。${array[@]:start:length} を使用します。my_array=("apple" "banana" "orange")
echo ${my_array[1]} # "banana"
command > output.txt # 標準出力をファイルにリダイレクト
command < input.txt # ファイルから標準入力にリダイレクト
| を使用して、コマンドの出力を別のコマンドの入力としてつなげることができます。command1 | command2 # command1 の出力を command2 の入力として渡す
リダイレクションの追加オプション:
>> : ファイルに追記するためのリダイレクト。既存の内容の後ろに出力を追加します。2> : 標準エラー出力をファイルにリダイレクトします。2>> : 標準エラー出力をファイルに追記します。&> : 標準エラーと標準出力を同じファイルにリダイレクトしますヒアドキュメント: << を使用して、インラインで複数行のテキストを指定します。
コマンドの終了ステータスの確認: 直前に実行したコマンドの終了ステータスを確認するためには、$? 変数を使用します。
command
status=$?
echo "Exit status: $status"
文字列の操作:
${var1}${var2} のように連結します。${#var} を使用します。数値演算:
expr コマンドや $(( ... )) 構文を使用します。-eq (等しい)、 -ne (等しくない)、 -lt (より小さい)、 -gt (より大きい)などの比較演算子を使用します。プロセス制御:
& を付けると、そのコマンドをバックグラウンドで実行します。fg および bg コマンドを使用して、バックグラウンドジョブをフォアグラウンドまたはバックグラウンドに移動します。