0

Linux bash 関数を作成~/.bashrcして、自動的に何かを実行しています

#!/bin/bash
......
......

function cog102start
{
    LD_LIBRARY_PATH=/opt/ibm/cognos/c102_6/cgi-bin
    httpd64start
    DB2START=$(sudo -u db2inst1 /home/db2inst1/sqllib/adm/db2start)

    ________need something here_________
}

の出力には次のDB2STARTいずれかが含まれます

SQL1036N DB2START process was successful

また

SQL1026N データベース・マネージャーはすでにアクティブです

次に何をすべきかを決定するために if ステートメントでテストする方法は?

私は。。をしようとしています

if [ [ $DB2START =~ ^(SQL1036N|SQL1026N)$ ] ]; then dosomething; fi

構文エラーが表示されます...ここで他に何を試せばよいかわかりません。

4

2 に答える 2

3

正しい構文は次のとおりです。

if [[ $DB2START =~ ^(SQL1036N|SQL1026N)$ ]]; then dosomething; fi

[[とは単一の]]トークンです。間にスペースを入れることはできません。

于 2013-05-09T04:14:31.483 に答える