在不直接使用 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
:-)
我目前正在尝试解决 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
:-)