2014-10-17 48 views
1

我无法弄清楚如何将“空间”(或更多)作为变量传递。BASH变量仅包含空间

MyVar=" " 
echo $MyVar 

返回任何...

它似乎并不喜欢的工作,我希望,我的目标是使空间随机长度的字符串。

#!/bin/bash 
while ((1)) 
do 
n=$[RANDOM%80] 
x=0 
sl="" 
space="-" 
while (($n != 0)) 
do 
sl=$sl$space 
n=$(($n-1)) 
done 
echo "$sl #  #" 
sleep 0.3 
echo "$sl # #" 
sleep 0.3 
echo "$sl #######" 
sleep 0.3 
echo "$sl ## ### ##" 
sleep 0.3 
echo "$sl###########" 
sleep 0.3 
echo "$sl# #  # #" 
sleep 0.3 
echo "$sl# #  # #" 
sleep 0.3 
echo "$sl ## ##" 
sleep 0.3 
echo "$sl" 
sleep 0.3 
done 

我想要变量空间来隐藏一个空格,而不是短划线并将其报告给sl。 这甚至可能吗?

+4

使用引号:'echo“$ MyVar”' – anubhava 2014-10-17 07:00:06

回答

2

与往常一样,您需要在值周围加双引号。

echo "$myVar" 
+0

好吧,非常感谢并为无用的帖子感到遗憾... – 2014-10-17 07:16:17