代码之家  ›  专栏  ›  技术社区  ›  Lincoln

“echo”通过sh和bash输出不同的答案

  •  3
  • Lincoln  · 技术社区  · 8 年前

    我用三种方式运行脚本,结果不同,你能解释一下为什么它是这样工作的吗?谢谢 这是我的剧本

    #!/bin/bash
    #Program:
    #     This program shows "Hello World!" in your screen.
    echo -e "Hello World! \a\n" 
    exit 0
    

    如果我用bash和运行它。/喜欢 bash sh01。上海 输出为

    你好,世界!

    但是,如果我使用sh like sh sh01。上海 这就像

    -你好,世界!

    这里还有一些其他信息

    1. 操作系统:Ubuntu 16.04.3
    2. 类型sh->猛冲
    1 回复  |  直到 8 年前
        1
  •  2
  •   pynexj    8 年前

    echo 不是很便于携带(即使是Bash的 在编译Bash时,不同的操作系统可能会使用不同的默认选项。您可以使用 printf posix :

    不可能使用 回响 可在所有POSIX系统中移植,除非两者都是 -n (作为第一个参数)和转义序列被省略。 这个 打印F 回响 实用程序[…]

    推荐文章