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!