1. ホーム
  2. バッシュ

[解決済み】Bashで2つの変数を引き算する

2022-04-03 12:43:10

質問

2つのディレクトリ間のファイル数を減算する以下のようなスクリプトを作成しましたが COUNT= 式が動作しません。正しい構文は何ですか?

#!/usr/bin/env bash

FIRSTV=`ls -1 | wc -l`
cd ..
SECONDV=`ls -1 | wc -l`
COUNT=expr $FIRSTV-$SECONDV  ## -> gives 'command not found' error
echo $COUNT

解決方法は?

マイナス記号とバックテックの周りに少し余分な空白が必要なだけです。

COUNT=`expr $FIRSTV - $SECONDV`

終了状態に注意する。

EXPRESSIONがNULLでも0でもない場合、終了ステータスは0です。 EXPRESSION が NULL または 0 の場合 1 .

と組み合わせてbashスクリプトで式を使用する場合は、この点に注意してください。 set -e これは、あるコマンドがゼロ以外のステータスで終了した場合、即座に終了します。