Linux

Bash腳本 - 檢查一個變數是否位於其他兩個變數之間?

  • February 14, 2021

在 Bash 腳本中,我想檢查 var1 是否位於 var2 和 var3 之間。但我找不到該怎麼做。

像這樣的東西。

var1=15
var2=10
var3=20

if [ "$var1" is located beetween "$var2" and "$var3" ]
then
   echo "ok"
else
   echo "not ok"
fi

你能幫我嗎 ?

謝謝你。

假設這些值始終是數字,並且“var1 位於 var2 和 var3 之間”,您的意思是var2 < var1 < var3,您可以使用:

if (( $var2 < $var1 )) && (( $var1 < $var3 )); then
   echo "ok"
else
   echo "not ok"
fi

您的邏輯毫無意義…畢竟腳本中的所有程式碼都是靜態的,因此當您更改變數中的任何內容時,您可以調整腳本其餘部分的邏輯。

引用自:https://serverfault.com/questions/1053619