如何检查csh脚本中是否存在任何文件?

时间:2015-01-07 07:55:14

标签: linux csh

为了检查csh脚本中是否存在任何文件,我正在使用

if [ -f /var/opt/temip/conf/.temip_config ]

但我收到的错误

if [ -f /var/opt/temip/conf/.temip_config ]

if: Expression Syntax.

谁能告诉我怎么做?

2 个答案:

答案 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