我想自动执行一项我经常做的重复任务。这就是为不同的架构创建rpm。要编译代码并创建rpm,我需要设置项目环境。在设置env之后,我将为当前架构创建rpm,并再次通过再次设置env为其他架构构建rpms。
我正在尝试自动执行此过程。问题是一旦设置了env,我将成为新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
答案 0 :(得分:2)
您可以强制2个部分在子shell中执行,如下所示:
cd "$project_dir"
(. setenv.sh x86
make clean
make rpm
cp *rpm ~/)
(. setenv.sh x86_64
make clean
make rpm
cp *.rpm ~/)