「while」ループは変数の内容を読みません。
私の問題を説明するために小さなスクリプトを設定しました。 while同じ時間に繰り返しループを設定しました。$outputNo screen session found #!/bin/bash echo Stopping server... output=$(screen -S tls -X eval 'stuff "stop\015"') while [ "$output" = "No screen session found." ] do echo "$output" sleep 1 done echo Server stopped! このスクリプトを実行するとすぐに停止します。 Stopping server... Server stopped! わかりました、だから私の考え$outputはNo screen session found.。 しかし、ループを次のようなループwhileに切り替えると:until until [ "$output" = "No screen session found." ] $output私のループは今見た文字列と同じではないので、ループが繰り返され始めると予想する必要があります。ループが繰り返されている間にecho $output私が追加したコマンドは、ループが実際に終了する必要があることを示します! Stopping server... No screen session found. No screen session found. No screen session found. No screen session found. 〜のように$output 同じ No screen session found.! どうしたの?whileanduntilループが内容を無視するのはなぜですか$output?