我以root身份運行腳本並試圖查看用戶oracle是否定義了ORACLE_HOME。這裏是我的腳本:
su - $user << EOF 2>&1
if [ -n "${ORACLE_HOME:+x}" ]
then
echo "KO" > /tmp/oracle.tmp
else
echo "$ORACLE_HOME" > /tmp/oracle.tmp
fi
EOF
這是行不通的。它給了我if: Expression Syntax.
並且文件沒有被創建。我認爲這個問題與su
封裝有關,因爲當我單獨運行if
聲明時,它正在工作。任何想法 ?
請不要問我爲什麼我以root身份運行。我知道它的壞習慣,但我無能爲力。
爲什麼不乾脆:回聲$ {ORACLE_HOME:-KO}> /tmp/oracle.tmp? – 2011-12-23 05:05:29