[英]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"
分別打印true和false 。 然后我腦抽筋並輸入:
! ((F)) && "yes"
希望在終端中看到是。 但是,如果沒有echo命令,它會進入無限循環打印y 。 有人可以解釋 bash 在這里做什么嗎?
bash
沒有go陷入死循環。 你正在運行yes
程序,它的描述是:
yes
- output 一個字符串重復直到被殺死
y
是它打印的默認字符串。 目的是將 pipe 發送到將詢問大量確認問題的命令,因此您可以對所有問題給出相同的答案。 例如
yes | ./configure
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.