我听说printf比echo. 根据我的经验,我只能回忆起一个我不得不使用的实例,printf因为它echo无法将一些文本输入到 RHEL 5.8 上的某个程序中,但printf确实如此。但显然,还有其他差异,我想询问它们是什么以及是否有特定情况下何时使用一种与另一种。
我试图回显包含我需要“解压”的通配符的文本和变量的组合,但我遇到了以下行为:
如果我说:
FILENAME=somefile*.txt
echo "something:" $FILENAME
Run Code Online (Sandbox Code Playgroud)
我得到:
something: somefile003.txt
Run Code Online (Sandbox Code Playgroud)
这就是我想要的,但如果我说: 如果我说:
FILENAME=somefile*.txt
echo "something:"$FILENAME
Run Code Online (Sandbox Code Playgroud)
我得到:
something:somefile*.txt
Run Code Online (Sandbox Code Playgroud)
因此,如果引号和变量之间没有空格,它似乎不会使用通配符。有没有办法让它在不添加空格的情况下处理*?