Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何检测名称中是否存在空格的文件?_String_Bash_File Io_Escaping - Fatal编程技术网

String 如何检测名称中是否存在空格的文件?

String 如何检测名称中是否存在空格的文件?,string,bash,file-io,escaping,String,Bash,File Io,Escaping,我正在尝试检测名为semester1(2013).csv的文件是否存在 到目前为止,我有以下几点: file="results/semester1\ (2013).csv" if [ -f $file ]; then echo 'File exists.' fi 这将产生以下错误: binary operator expected 我没有恰当地逃避什么?你逃避得太多,但引用得不够: file="results/semester1 (2013).csv" if [ -f "$file" ]

我正在尝试检测名为
semester1(2013).csv的文件是否存在

到目前为止,我有以下几点:

file="results/semester1\ (2013).csv"
if [ -f $file ]; then
  echo 'File exists.'
fi
这将产生以下错误:

binary operator expected

我没有恰当地逃避什么?

你逃避得太多,但引用得不够:

file="results/semester1 (2013).csv"
if [ -f "$file" ]; then
  echo 'File exists.'
fi

如果您不引用
“$file”
,则在测试中将其扩展为两个“单词”,并且失败。有了引号,它就完全通过了测试。

你逃避了太多,但引用得不够:

file="results/semester1 (2013).csv"
if [ -f "$file" ]; then
  echo 'File exists.'
fi
如果您不引用
“$file”
,则在测试中将其扩展为两个“单词”,并且失败。有了引号,它就完全通过了测试