我見過很多與彼此相關的多個條件的例子,但是有兩個不同的無關條件,其中第二個只在第一個條件爲真時纔會發生。 如何獲得以下良好的組織和1行?ASH if if語句中的if語句
funtion1
if [[ $valueX == 2 ]]; then
funtion2
if [[ $valueY -gt 16 ]]; then
sleep $valueZ
fi
fi
我見過很多與彼此相關的多個條件的例子,但是有兩個不同的無關條件,其中第二個只在第一個條件爲真時纔會發生。 如何獲得以下良好的組織和1行?ASH if if語句中的if語句
funtion1
if [[ $valueX == 2 ]]; then
funtion2
if [[ $valueY -gt 16 ]]; then
sleep $valueZ
fi
fi
你可以很好地組織它,或者你可以把它放在一行中。
我想說你現在擁有的東西已經很好地組織了。我不認爲有任何方法可以在不減少清晰度的情況下以更少的行數進行重組。
簡單地通過連接線和添加(如果funtion2
都沒有了,你可以結合這兩個條件。)
如果硬要將是對逐行代碼整個塊,你可以做到這一點分號,像這樣:
funtion1 ; if [[ $valueX == 2 ]]; then funtion2 ; if [[ $valueY -gt 16 ]]; then sleep $valueZ ; fi ; fi
但正如我所說,我不認爲任何人會稱之爲「很好地組織」;閱讀和維護比原來的多行很好的縮進版更難。
(哦,你拼錯的「功能」。)
你的問題時帶上「慶典」和「灰」,兩種不同的炮彈。 '[[''語法特定於bash;灰不支持它。 – 2012-08-03 23:25:23