使用和不使用“bash”命令运行 shell 脚本

使用和不使用“bash”命令运行 shell 脚本

我有一个脚本,当我在它前面添加“bash”时,它可以正常运行,

bash ./myscript.sh /opt/config/run.config

但当我不这样做时,它会停在下面的行并退出。

source "/opt/config/test.config"

当我在命令前面附加 bash 时没有问题。

当我设置一个新盒子时,环境变量中是否有我遗漏的内容。相同的脚本在旧机器上没有任何问题。

答案1

#!/bin/bash解决办法:在脚本头部添加shebang

您可以在第一行强制使用您想要的外壳:#!/bin/bash这是执行您操作的另一种方式bash ./myscript ...

#!/bin/bash

...
...
source "/opt/config/test.config"
...
...

对您的问题的可能解释

shell 中没有source内置命令sh(并且没有名为 的程序source)。因此,如果您的脚本由 运行sh,它将在命令行中失败source

相关内容