Din*_*esh 4 bash shell automation sh subshell
我想自动化一项我经常执行的重复任务。这就是为不同的架构创建 rpm。要编译代码并创建 rpm,我需要设置项目环境。设置 env 后,我将为当前架构创建 rpm,并且我应该通过再次设置 env 为其他架构构建 rpm。
我正在尝试使这个过程自动化。问题是一旦设置了 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
Run Code Online (Sandbox Code Playgroud)
将 env 设置为 x86 后,接下来的命令不会被执行。
您可以强制 2 个部分在子 shell 中执行,如下所示:
cd "$project_dir"
(. setenv.sh x86
make clean
make rpm
cp *rpm ~/)
(. setenv.sh x86_64
make clean
make rpm
cp *.rpm ~/)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3448 次 |
| 最近记录: |