xenv shell改成子shell

时间:2015-06-30 05:13:12

标签: shell sh ksh

我正在写一个ksh来检查代码并通过xenv setup设置编译变量。这就是我的剧本当下的样子 -

#!/usr/bin/ksh
logname=$LOGNAME
homedir="$HOME/${logname}-SVN-Dev/pkgroot"

#Create directory <username>-SVN-Dev to contain copied code.
if [ -z "$logname" ]
then
    logname=`/usr/ucb/whoami`
fi

RunCmd "rm -rf $homedir"
RunCmd "mkdir -p $homedir"

## Some code to checkout code

cd $HOME
echo "setenv PKGROOT $homedir">>$HOME/.cshrc
echo "setenv DEVROOT $homedir/src">>$HOME/.cshrc
source $HOME/.cshrc

RunCmd "/xenv/xenv -L -i $homedir/My.env $homedir;"
make -f project.mk createmakefile

上面的xenv切换shell并进入一个新的提示符ia_cross:并且我的shell退出而不执行“make -f project.mk createmakefile”命令。

我尝试在make和xenv之间放置一个管道,但这并没有解决这个问题。任何建议都会有所帮助吗?

1 个答案:

答案 0 :(得分:0)

在脚本中使用以下命令,

echo "make -f project.mk createmakefile" | /xenv/xenv -c -i $homedir/My.env $homedir;