我试图在Unix中执行以下代码并获得Above Error,
请帮我改正代码
SERVER_NM=`uname -n`
case $SERVER_NM in
infad1) export ETL_SYS=TST
;;
infasa1) export ETL_SYS=TST
;;
infasb1) export ETL_SYS=TST
;;
infap1) export ETL_SYS=PRD
;;
infap2) export ETL_SYS=PRD
;;
infap3) export ETL_SYS=PRD
;;
infap4) export ETL_SYS=PRD
;;
*) echo "No Dir";;
esac
当我执行此即时获取
unexpected4]: syntax error at line 5 : `in and im using !/usr/bin/ksh
答案 0 :(得分:0)
你的剧本中是否有可能有回车(\r
)等有趣的字符?
请运行od -c yourscript
查找,如果是,请使用可以显示有趣字符(vim)或dos2unix yourscript
的更好的编辑器。
答案 1 :(得分:0)
export SERVER_NM=`uname -n`
case $SERVER_NM in
infad1|infasa1|infasb1) export ETL_SYS=TST ;;
infap1|infap2|infap3|infap4) export ETL_SYS=PRD ;;
*) echo "No Dir" ;;
esac
echo $ETL_SYS
答案 2 :(得分:0)
SERVER_NM="`uname -n`"
echo "${SERVER_NM}" | sed 's/infad1.*/PRD/;t;s/infasa1.*/PRD/;t;s/infasb1/TST/;t;s/infap[1-4].*/PRD/;t;s/.*/No Dir/' | read Tempo
export ETL_SYS="${Tempo}"
可能更快(取决于使用SERVER_NM)
export ETL_SYS="`uname -n | sed 's/infad1.*/PRD/;t;s/infasa1.*/PRD/;t;s/infasb1/TST/;t;s/infap[1-4].*/PRD/;t;s/.*/No Dir/'`"