echo 删除 Bash 变量中的前导空格

echo removes leading whitespace in a Bash variable

这里是 bash 的新手。我希望在 bash 中的变量前添加一个空格,目前我有以下内容,但似乎不起作用:

space=`printf '%1s' ' '`
mystr='hello'

mystr="$space$mystr"
echo $mystr

因此,我希望结果不是打印出 "hello",而是“hello”,它在开头有一个额外的空格。执行此操作的正确方法是什么?谢谢

由于单词拆分,shell 正在删除前导 space。用双引号括起您的变量以禁用分词:

echo "$mystr"

看到这个post:

另请参阅这些文档:Word Splitting and Field Splitting