算術構文エラーが原因で問題が発生しています。
コマンドラインからテキストファイル名を読み取り、各ファイルの行数を数えます。
NUM=$(wc -l "$text")
その後、NUMが奇数であることを確認したいと思います。
だから私は言った。
REMAINDER=$(( $NUM % 2 ))
if [ $REMAINDER -ne 0 ] ; then
echo "Odd number"
fi
ところが問題があるようだ。
REMAINDER=$(( $NUM % 2 ))
$NUMは数値ではなく「.txt」ファイルとして扱われるようです。 NUMだけを確認してみるとうまくいきました…
ベストアンサー1
$NUM
印刷すると
NUM=$(wc -l "$text")
(Linuxでは)同じ行にスペースを含む数字とファイル名が表示されることがあります。
たとえば、
1842 basic.c
文字列は数字ではありません。通常、最初のトークンと使用するシェル/sed/awkなどを読みます。それ数字で。
@steeldriverは次の番号を取得することを提案しました。
NUM=$(wc -l < "$text")
動作します(Debianでテスト)。