[Linux] => [シェルスクリプト]


この日記のはてなブックマーク数 このエントリーを含むはてなブックマーク

シェルスクリプトにおける演算は $((計算式))とするかexprコマンドを使用します。$((計算式))の書式を用いる場合、変数の展開に$が必要ないことに注意してください。


[例]


#!/bin/sh


num=4;
echo $((6 % 4)) #6/4の余り
echo $((2 * 3))
echo $((4 / 2))
echo $((4 * 4))
echo $((5 + 5))
echo $((num * 4)) #この書き方の場合、変数に$をつける必要はない
echo `(expr 5 \* 4)` #*はシェルにて展開されるためエスケープ


[出力結果]


2
6
2
16
10
2
16
20



関連記事
read - 変数の読み込み
シェルスクリプトのデバッグ
ヒアドキュメント
set - シェル変数の一覧を表示
for文
$@ - シェルスクリプトに渡されたすべての引数
dirname - ファイルパスからディレクトリを取り出し
シェルスクリプトにおける演算
変数に格納された文字数
$0 - 実行しているシェルスクリプトのパス
while文
文字列比較演算子
if文
数値比較演算子
echoで改行しない
$# - 引数の個数
basename - パス名からファイル名の取り出し
readonly - 変数の保護
ヌルコマンドによる無限ループ
複数のコマンドの結果を同一ファイルに出力
case文
sourceコマンド (ピリオド)
$# - シェルに渡された引数の個数
killproc関数
$? - 最後に実行したコマンドのexit値
testコマンド
広告