Dash is not bash
在一些 docker 官方 Image 中,执行一些 .sh 文件的时候遇到了一些奇怪现象,比如:
1 2 3
|
# Run something like: [[ $ABC =~ regexp ]] #> [[: not found
|
其实是因为此 Image 中 sh 并非 bash,而是 dash:
1 2
|
ls -l /bin/sh #> /bin/sh -> dash
|
此时,只需重置 sh 就好了:
1 2
|
rm /bin/sh ln -s /bin/bash /bin/sh
|
不过,在 docker image 里,还是不建议执行 .sh 文件。所有事情都在 host 上完成,之后 -v
共享目录给 docker container 为好。
参考资料: