#!/bin/ksh
我在第一行有脚本。当我尝试执行此脚本(运行./myscript.sh
)时发生错误:
-bash: ./myscript.sh: /bin/ksh: bad interpreter: No such file or directory
source myscript.sh
但是当我通过或命令执行此脚本时bash myscript.sh
- 脚本成功运行。
是的,ksh没有安装,安装它是正确的。但我无法理解不同的行为./
和bash
/或source
答案1
当使用解释器执行脚本时,
./
会调用 shebang 行。与
source
当前 shell 一起使用(source
是 bash 扩展,所以你必须运行 bash)bash script.sh
PATH 中的 bash shell 是通过 shellscript 调用的。