背景
scl enable devtoolset-7 bash可以开启一个新的bash,里面g++的版本是7,在docker中使用时
踩坑
脚本中运行了scl enable devtoolset-7 bash之后的命令都没有真正执行
原因
新开了一个bash,而后续的命令还在旧的bash中,以至于在新的bash中什么都没执行。而如果执行exit,就会回退到旧bash,脚本中后续语句在该旧bash中执行,但因为这时g++版本为7就失效了,导致操作失败
解决
脚本中执行 scl enable devtoolset-7 “后续命令”
这个后续命令可以写进另一个脚本,然后
scl enable devtoolset-7 sh test.sh
也可以采取这种方式
scl enable devtoolset-7 "cd /home/admin \
&& echo hello1 \
&& echo hello2"