scl enable devtoolset-7踩坑

背景

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"

版权声明:本文为qingsui9原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。