在不直接使用 white space 字符的情况下在 bourne shell 中打印 "Hello World"

Printing a "Hello World" in bourne shell without directly using white space char

我目前正在尝试解决 tricky/silly 挑战,但我走到了死胡同。

挑战基本上是形成一行 /bin/sh 兼容的命令行 它实际上输出 "Hello World" 而无需直接在命令本身中键入 White space 或 Tab 字符。

例如 -

echo Hello World

将无效,因为我们在命令行中使用了两次白色 space。

有什么想法吗?

假设 IFS 默认设置为 space:

 # echo${IFS}a${IFS}b
 a b

在 Solaris 10 sh 上测试

有点作弊,但它在 bash 中给出了正确的效果(表面上):

PS1=hello$'\x20'world$'\n'"$PS1"

例如,

$ PS1=hello$'\x20'world$'\n'"$PS1"
hello world
$

问题是它会在以后的每个命令后打印 hello world :-)