我的简单脚本如下:
#!/bin/sh
DEF=.file_name_with_a_leading_dot.sh
. ${DEF}
注意顶行的/bin/sh。 当我运行这个简单脚本时,会出现文件找不到的错误。 但是,如果我将顶行改为#!/bin/bash,那么脚本就可以在当前目录中找到该文件。
然而,在我的Ubuntu Linux笔记本电脑上,我看到/bin/sh是一个指向/bin/bash的符号链接。那么,为什么我的脚本表现不同呢?
此外,我可以像这样运行脚本:
/bin/bash ./script.sh
没问题。
那么,我错过了什么?
/bin/sh
调用时,Bash会启动为兼容模式。 - hek2mgl