我正在尝试检测名为semester1 (2013).csv
的文件是否存在。
到目前为止,我有以下内容:
file="results/semester1\ (2013).csv"
if [ -f $file ]; then
echo 'File exists.'
fi
产生以下错误:
binary operator expected
我没有正确逃脱?
答案 0 :(得分:4)
你逃避太多,但引用不够:
file="results/semester1 (2013).csv"
if [ -f "$file" ]; then
echo 'File exists.'
fi
如果你没有引用"$file"
,它会在测试中扩展为两个“单词”,但这会失败。使用引号,它将全部传递给测试。