我在这个问题中阅读了以下内容:
bash 支持 --posix 开关,这使其更符合 POSIX 标准。如果作为 sh 调用,它还会尝试模仿 POSIX 。
上面的引用假定/bin/sh
是指向 的链接/bin/bash
。
但我不太明白“作为 sh 调用”是什么意思。
假设我有以下名为“script.sh”的脚本:
#!/bin/bash
echo "Hello World"
Run Code Online (Sandbox Code Playgroud)
请在以下每种情况下告诉我脚本是在正常bash
模式下还是在 POSIX 模式下运行(假设我在正在运行的终端中执行了以下命令bash
):
sh script.sh
bash script.sh
./script.sh
现在说我有以下脚本,称为“script.sh”(类似于上面的脚本,但没有shebang):
echo "Hello World"
Run Code Online (Sandbox Code Playgroud)
请在以下每种情况下告诉我脚本是在正常bash
模式下还是在 POSIX 模式下运行(假设我在正在运行的终端中执行了以下命令bash
):
sh script2.sh
bash script2.sh
./script2.sh