我知道如果用双引号括起一个变量(包含文件名),它将扩大$
,*
和反引号('
)。例如cmp "$file1" "$file2"
会很好,如果两个文件开头都包含*
或其他任何“正常”的文件。如果文件在开头处有任何数量的破折号,它将不起作用。相反,它会尝试去做 - 的字面含义,将其视为一种选择。你如何解决这个问题?如何扩展以破折号开头的文件名( - )
这将工作:
var1=*file.txt
var2=*file2.txt
cmp "$var1" "$var2"
但
var1=-file.txt
cmp "$var1" "$var2"
会说 - 是无法识别的选项。有任何想法吗?
这工作。谢谢 – jimmyC