打印" Hello World"在bourne shell中没有直接使用空格char

时间:2015-01-28 14:32:18

标签: linux sh

我目前正试图解决一个棘手/愚蠢的挑战,我已陷入死胡同。

挑战基本上是形成one-liner / bin / sh兼容命令行 它基本上输出“Hello World”而不直接在命令本身中键入空格或Tab字符。

例如 -

echo Hello World

将无效,因为我们在命令行中使用了两次空格。

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

假设默认情况下IFS设置为space:

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

在Solaris 10 sh。

上测试

答案 1 :(得分:1)

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

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

例如,

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

问题是它将来会在每个命令之后打印hello world: - )