Bashスクリプトエラー:整数式が必要です。

Bashスクリプトエラー:整数式が必要です。

Raspberry Piでbashスクリプトを使用する際に問題があります。

x='gpio -g read 22'

if [ $x -ge 1 ]
then
gpio -g write 23 1
fi

エラーはですinteger expression expected。なぜ?

ベストアンサー1

gpio -g read 22文字列が1より大きいことを確認するためです。gpio -g read 22数値ではないため、エラーが発生します。

何をしたいのか説明しませんでしたが、比較したいと思います。出力命令したgpio。これを行うには、コマンドを$()バックティック(``)で囲む必要があります。

x=$(gpio -g read 22)

if [ "$x" -ge 1 ]
then
   gpio -g write 23 1
fi

またはより簡単には、次のようになります。

[ "$(gpio -g read 22)" -ge 1 ] && gpio -g write 23 1

ジョブがfoo='command'実行されていませんcommand。変数はfoo値を持つひも commandその出力よりも。

おすすめ記事