问题很简单。
for i in `seq $begin $progress_length` ; do
progress_bar=$progress_bar'#'
done
for i in `seq $middle $end` ; do
empty_space=$empty_space' '
done
我需要empty_space
在进度条之后定位内容。我预计它将是x空格的字符串。但最后字符串是空的。我怎样才能创建x空格字符串?
答案 0 :(得分:7)
问题可能是因为$empty_space
只有空格。然后,要输出它们,你必须用双引号括起来:
echo "${empty_space}some_other_thing"
您可以使用printf
尝试更有趣的输出,例如获取多个空格。例如,要写20个空格:
v=`printf '%20s' ' '`
答案 1 :(得分:1)
可以使用参数替换创建字符串。 替换$ {str:offset:length}返回str:
的子字符串space80=' '
hash80='################################################################################'
progress_bar=${hash80:0:$progress_length-$begin+1}
empty_space=${space80:0:$end-$middle+1}
echo -n "$empty_space$progress_bar"
答案 2 :(得分:0)
我理解你的问题,因为我完全一样。
我的解决方案是连接一个临时字符而不是空格,例如☼
,然后,最后用空格替换所有出现的sed
:
echo $myString | sed 's/☼/ /g'
我希望它会对你有所帮助!