簡體   English   中英

為什么bash go會陷入死循環?

[英]Why does bash go into an infinite loop?

我正在嘗試不同的方法來模擬 bash 中的 boolean 變量。一種方法是:

readonly T=1
readonly F=0
((T)) && echo "true" || echo "false"
((F)) && echo "true" || echo "false"

分別打印truefalse 然后我腦抽筋並輸入:

! ((F)) && "yes"

希望在終端中看到 但是,如果沒有echo命令,它會進入無限循環打印y 有人可以解釋 bash 在這里做什么嗎?

bash沒有go陷入死循環。 你正在運行yes程序,它的描述是:

yes - output 一個字符串重復直到被殺死

y是它打印的默認字符串。 目的是將 pipe 發送到將詢問大量確認問題的命令,因此您可以對所有問題給出相同的答案。 例如

yes | ./configure

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM