Ubuntu 运行 shell 时 “[[ : not found“ 解决

时间:2025-03-29 09:22:28

碰到 shell 命令里诸如

if [[ "$STR1" =~ "$STR2" ]]; then

这样的代码在 ubuntu 里执行显示 “[[ : not found” 时,往往是从 linux 移植过来的。

往往 linux 使用的是 sh ,而 ubuntu 使用的是 bash 。

而"[[]]"是bash脚本中的命令,因此在执行时,使用sh命令会报错,将sh替换为bash命令即可。

解决方法:

如果是 shell 文件的话,开头的 “ #!/bin/sh ”  改为 “ #!/bin/bash ” 。

或者改用 bash 来执行特定的 .sh 文件,比如 “ bash ”