kpm*_*Dev 5 shell-script whitespace variable
我需要在变量中存储特定数量的空格。
我试过这个:
i=0
result=""
space() {
n=$1
i=0
while [[ "$i" != $n ]]
do
result="$result "
((i+=1))
done
}
f="first"
s="last"
space 5
echo $f$result$s
Run Code Online (Sandbox Code Playgroud)
结果是“firstlast”,但我预计“first”和“last”之间有5个空格字符。
我怎样才能正确地做到这一点?
"在echo命令中使用双引号 ( ) :
echo "$f$result$s"
Run Code Online (Sandbox Code Playgroud)
这是因为 echo 将变量解释为参数,多个参数echo打印所有这些变量之间有一个空格。
以这个为例:
user@host:~$ echo this is a test
this is a test
user@host:~$ echo "this is a test"
this is a test
Run Code Online (Sandbox Code Playgroud)
在第一个中,有 4 个参数:
execve("/bin/echo", ["echo", "this", "is", "a", "test"], [/* 21 vars */]) = 0
Run Code Online (Sandbox Code Playgroud)
在第二个中,它只有一个:
execve("/bin/echo", ["echo", "this is a test"], [/* 21 vars */]) = 0
Run Code Online (Sandbox Code Playgroud)