我的文件名中有一大组带有“:”的文件。当我在交互式shell中时,键入“\”然后按Tab键可以将它们识别为命令的有效输入,但在shell脚本中则不然。
我试过
less file:name.txt
less file\:name.txt
less 'file\:name.txt
less 'file:name.txt'
并且它不被识别为有效文件。
但是在交互式命令行中我键入较少,然后是第一个文件,然后我键入\,然后点击TAB键,一切正常...
我如何在shell脚本中执行此操作?
答案 0 :(得分:2)
使用双引号:
less "file:name.txt"
Bash将双引号中的值识别为完整字符串。
如Using quotes to include spaces and characters in filenames中所示:
如果您想使用包含空格或特殊字符的文件 文件名,您可能必须使用引号。
答案 1 :(得分:0)
即使你没有放任何东西,它也能正常工作。
你可以试试: 更少的文件,它可以识别它......但您可以在bash中使用less "file:name.txt"
作为字符串。