我希望自动化一个我经常进行的重复任务。这个任务包括为不同架构创建rpm's。为了编译代码并创建rpm,我需要设置项目环境。在设置环境后,我将为当前架构创建rpm,然后再次通过重新设置环境来构建其他架构的rpm。
我正在尝试自动化这个过程。问题是一旦环境被设置它将成为新的shell,所以我的脚本在子shell中不可见。如何自动化这个过程?以下是我尝试过的方法:
我正在尝试自动化这个过程。问题是一旦环境被设置它将成为新的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
在将环境设置为x86后,接下来的命令没有被执行。
setenv.sh
究竟是做什么的?你脚本的下一行make clean
不会运行,直到setenv.sh
返回,并且它不会在任何子 shell 中运行;它将在调用setenv.sh
的同一个 shell 中运行。 - chepnersetenv.sh
退出之前,而这是在make clean
运行之前的。 - chepner