/ix in unix echo命令输出一些带字符串的默认路径

时间:2014-03-13 11:25:59

标签: linux shell unix

我正在尝试从参数回显用户输入。 当用户输入任何具有/ *字符的字符串时,它会打印一些默认的bin引导路径。 我不想打印它。

请注意,用户输入是动态的,如下所示。

$ b="/* abc"  #User input ; it can be anything like, "bcd /* abc" or without /* too    
$ echo $b
/1 /bin /boot /db_dyn /dev /etc /srv /sys /tmp /tools /usr /var /x abc

1 个答案:

答案 0 :(得分:4)

echo时引用变量是一种好习惯。在这种情况下,它会为您提供所需的输出:

$ b="/* abc"
$ echo "$b"
/* abc

请注意,如果您不引用,则实际回显为:

echo /* abc

因此展开*并匹配/中的所有项目,然后打印abc

如果您拥有?字符,则会发生同样的情况,该字符将扩展为包含一个字符的所有项目。