2011-06-10 232 views
0

我有点被迫使用environmet,我真的不习惯。 我有一个大的准备脚本,为我们的集群生成jobcript。我剥去了一个最小的例子,显示了现在没有工作。shell脚本问题

#! /bin/ksh 

EXPDIR="/home/user1/tmp/exp" 
EXPNO="${testno}" 

if [ ! -d "$EXPDIR" ]; then 
    /client/bin/mkdir -p "${EXPDIR}" 
    cd "${EXPDIR}" 
fi 

jobname="${jobname:-${EXPNO}}" 
jobfile="${jobfile:-${EXPDIR}/${jobname}.job}" 


cat >"${jobfile}" <<EOF1 



#----------------------------------------------------------------------------- 
# TEST 
#----------------------------------------------------------------------------- 

该脚本应该创建一个名为testno.job文件中的目录/home/user1/tmp/exp

#----------------------------------------------------------------------------- 
# TEST 
#----------------------------------------------------------------------------- 

,如果它不存在创建目录。唯一的问题是该文件不叫testno.job,而是.job。你能帮我吗?

回答

1

显然,jobfile变量包含.job而不是testno.job。我认为您需要设置testno,因为它用于生成jobname变量。

1

恕我直言,你还没有定义$ {testno}变量。