1
我很困惑当我尝试输出中的一些模式在shell.The代码*
是:意外行为
#!/bin/bash
for i in {1..10}
do
tmpstr=""
for ((c=1;c<=i;c++))
do
tmpstr=$tmpstr'*'
done
echo $tmpstr #add some string after tmpstr will work
done
输出显示我ls
命令的结果,在每个是线意外。如果我在echo $tmpstr
之后添加任何字符串,代码将正常工作。例如,echo $tmpstr" "
。那么如何理解这一点?
我觉得这是一个point.But空间之后的字符串将使得通配符不工作仍然是一个谜。 – Young
我不关注。你声明这个代码可以很好地处理echo $ tmpStr“”。正如你写的那样,没有通配符,只是一个空格。 – EJK
我的意思是'echo $ tmpstr“”'在第一个循环内而不是内部循环。 – Young