Scripting

如何檢查/測試 2 個條件然後執行我嘗試過的特定命令列表

  • July 15, 2021

對不起,如果它令人困惑。

這是腳本需要做的事情

我輸入了 2 個值。

數據庫伺服器名稱=192.168.1.1

數據庫架構 =My_DB_schema

然後我需要一種方法來在這兩個值存在時執行一些命令

樣本將是:

如果數據庫伺服器名稱和數據庫架構是

192.168.1.1  
My_DB_schema

執行

command 1
command 2
   

我嘗試使用 case 語句,但我認為它只會測試一個條件。

謝謝

不確定我是否理解正確,但您可以連接多個變數(如果您知道這不是值的一部分,請使用一些分隔符,例如:)。

例如像

SERVER=foo
DB_NAME=bar

case "$SERVER:$DB_NAME" in
 foo:bar)
   echo "foobar"
   ;;
 foo:*)
   echo "foo"
   ;;
 *:bar)
   echo "bar"
   ;;
esac

所以你有一種情況,伺服器是foo,數據庫是bar,伺服器是foo,數據庫可以是任何東西,伺服器可以是任何東西,數據庫是bar

您應該能夠以這種方式匹配您感興趣的任何組合。

您可以使用這兩個“條件”(SERVERDB_NAME),也可以使用三個、四個或任意多個。

引用自:https://unix.stackexchange.com/questions/658382