Shell脚本解释器
sh script.sh和./script.sh的区别
- sh script.sh是使用系统上的默认Shell解释器来执行脚本文件,忽略脚本中的 shebang 行(例如- #!/usr/bin/expect -f)。- 一般在 Linux 系统中,默认的 /usr/bin/sh 默认指向 /usr/bin/bash 的符号链接。 
- ./script.sh是通过脚本中的 shebang 行(一般都是 #! 开头的第一行)指定的解释器来运行脚本。
指定解释器执行shell脚本的方式
假设希望指定 expect 解释器执行脚本,方式如下:
- 在 shell 脚本中的 shebang 行(第一行)指定解释器。 - 1 - !/usr/bin/expect -f - 使用 ./script.sh 的方式运行脚本即可。 
- 使用 expect 命令来执行脚本,这种方式是直接指定 expect 解释器来执行脚本,忽略脚本中的 shebang 行。 - 1 - expect script.sh 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 CodeJourney!
