私が試したことは次のとおりです。
#! /bin/sh
if [ -z "${ENCRYPT_ALL_PWD}" ]; then
if [ ! -z $SA_USER ]; then
DBAUSER=$SA_USER
$ECHO "Yahoo!!!!!!!!!!!!"
else
$ECHO "Please define variable SA_USER in $HOME/<blah>profile and run this script again..."
exit 1
fi
fi
ただし、ENCRYPT_ALL_PWDが定義されていない場合、出力から「見つかりません」を削除することはできません。
$ sh -x swar_test.sh
+ [ != YES ]
+ [ ! -z ]
+ Please define variable SA_USER in <blah>/<blah>profile and run this script again...
swar_test.sh[7]: Please define variable SA_USER in <blah>/<blah>profile and run this script again...: **not found**
+ exit 1
私もこれを試しましたが、うまくいかず、ENCRYPT_ALL_PWDが定義されていないか空のときに「見つかりません」とマークしました。
#! /bin/sh
if [ "${ENCRYPT_ALL_PWD}" != "YES" ]; then
if [ ! -z $SA_USER ]; then
DBAUSER=$SA_USER
$ECHO "Yahoo!!!!!!!!!!!!"
else
$ECHO "Please define variable SA_USER in $HOME/<blah>profile and run this script again..."
exit 1
fi
fi
exit 0
私がここで何を間違っているのか? 「見つかりません」を削除する方法は?
私の期待は、ENCRYPT_ALL_PWDが定義されていないか空で、SA_USERも定義されていない場合、出力は次のようになるはずです。
Please define variable SA_USER in $HOME/<blah>profile and run this script again...
答え1
これは正しく設定されました。
$ cat swar_test.sh
#! /bin/sh
. $HOME/tools/init.sh
. $HOME/<blah>profile
if [ "${ENCRYPT_ALL_PWD}" != "YES" ]; then
if [ ! -z $SA_USER ]; then
DBAUSER=$SA_USER
$ECHO "Yahoo!!!!!!!!!!!!"
else
$ECHO "Please define variable SA_USER in $HOME/aaaprofile and run this script again..."
exit 1
fi
fi
exit 0