【发布时间】:2018-04-10 07:58:49
【问题描述】:
我使用三种方式运行我的脚本,但输出不同,你能解释一下为什么它会这样工作吗?谢谢!! 这是我的脚本
#!/bin/bash
#Program:
# This program shows "Hello World!" in your screen.
echo -e "Hello World! \a\n"
exit 0
如果我通过 bash 和 ./ 像 bash sh01.sh 运行它,输出是
世界你好!
但是,如果我像 sh sh01.sh 一样使用 sh,它会像
-e 你好,世界!
还有一些其他信息
- 操作系统:Ubuntu 16.04.3
- 输入 sh -> 破折号
【问题讨论】:
-
Bash 是一个非常扩展的外壳,而 Dash 是一个非常基本且符合标准的外壳。这意味着 Bash 可以添加标准命令的扩展版本,例如
echo,根据标准,它只接受 one 可选参数(而不是-e)。请参阅this official POSIX reference aboutecho了解更多信息。 -
我知道了,谢谢!!!
标签: linux bash shell echo dash-shell