この条件を実行したいと思います。
while [ $(cat /path_of a file/) -eq 1 ]
条件が真の場合にのみ条件が真になります。
$(cat /path_of a file/)
文字列ではなく整数です!
この問題をどのように克服できますか?
ベストアンサー1
=
たとえば、演算子を使用してこれを実行できます[ $(cat /path_of a file/) = 1 ]
。両方の引数の文字列表現を比較するので、すべての場合に機能します。
場合-eq
によっては、文字列比較の代わりに使用する方が良いかもしれませんが(実際にはそうでは[ 01 -eq 1 ]
あり[ "01" = 1 ]
ません)、ほとんどの場合、より危険です。一方、整数の比較が本当に必要な場合は、@Gnoucの提案を使用する必要があります。