我正在编写一个ksh来检出代码并通过xenv安装程序设置编译变量。这就是我的脚本当前的样子-
#!/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之间放置一个管道,但这并不能解决这个问题。有什么建议真的有帮助吗?
在脚本中使用以下命令,
echo "make -f project.mk createmakefile" | /xenv/xenv -c -i $homedir/My.env $homedir;