Bashスクリプトからコマンドの数値if条件を読み取る

Bashスクリプトからコマンドの数値if条件を読み取る

バッテリーの状態を確認し、バッテリーが不足しているときにノートブックを一時停止するコマンドを作成しようとしています。私は次のようなものを使用しようとしています:

#!/bin/bash
if [ $(acpi -b | cut -c 25) < 11 ]
then notify-send "Hello"
fi

これはうまくいきますが、何らかの理由で11を5などの1桁の数字に置き換えるとエラーが発生します。

battery-notify-standby: line 2: 5: No such file or directory

また、算術式として指定するために、角かっこを2つの丸括弧で置き換えてみました。それから私は得ます

battery-notify-standby: line 2: ((: < 11 : syntax error: operand expected (error token is "< 11 ")

正確に何が間違っているのかわかりません。誰でも私を助けることができますか?

ベストアンサー1

シェルの演算子は、<比較演算子ではなくリダイレ​​クト演算子です。名前の付いたファイルがあって11読みやすく正しく動作するようです。 (ただし、出力確認とは何の関係もありません。常に仮定を確認してください!)

探している比較演算子は-ltありません<

おすすめ記事