내가 시도한 것은 다음과 같습니다.
#! /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