1

我想自动化一项我经常做的重复任务。那就是为不同的架构创建 rpm。要编译代码并创建 rpm,我需要设置项目环境。设置 env 后,我将为当前架构创建 rpm,我应该再次通过设置 env 为其他架构构建 rpm。

我正在尝试自动化这个过程。问题是一旦设置了环境,我将成为新的 shell,所以我的脚本在子 shell 中不可见。如何自动化这个?

这是我尝试过的。

cd $project_dir
setenv.sh x86      #creates new sub shell
make clean
make rpm
cp *rpm ~/

exit              #exit from the sub shell

setenv.sh x86_64     #creates new shell
make clean
make rpm
cp *.rpm ~/

exit

将 env 设置为 x86 后,没有执行下一个命令。

4

1 回答 1

4

您可以强制 2 个部分在子 shell 中执行,如下所示:

cd "$project_dir"

(. setenv.sh x86
make clean
make rpm
cp *rpm ~/)

(. setenv.sh x86_64
make clean
make rpm
cp *.rpm ~/)
于 2014-05-08T18:05:39.320 回答