为了检查csh脚本中是否存在任何文件,我正在使用
if [ -f /var/opt/temip/conf/.temip_config ]
但我收到的错误
if [ -f /var/opt/temip/conf/.temip_config ]
if: Expression Syntax.
谁能告诉我怎么做?
答案 0 :(得分:7)
来自the manpage:
f
Plain file
您将其与if
声明一起使用:
if ( -f file.txt ) then
echo Exists
else
echo No such file
endif
基于这个问题and your previous question,您似乎对csh
语法如何工作毫无头绪,因为您继续使用POSIX shell语法。我会强烈建议您熟悉csh
语法,或者只使用POSIX shell(这可能更适合脚本编写)。
答案 1 :(得分:4)
在CShell中检查是否存在文件使用-e
选项
文件的名称不一定是"硬编码"进入if语句,但是 可能是这样的参数:
if (-e "$filePath") then
以下是Cshell文件查询的完整列表。
-e file file merely exists (may be protected from user)
-r file file exists and is readable by user
-w file file is writable by user
-x file file is executable by user
-o file file is owned by user
-z file file has size 0
-f file file is an ordinary file
-d file file is a directory