web-dev-qa-db-ja.com

cshスクリプト内のファイルの存在を確認する方法は?

私が使用しているcshスクリプト内のファイルの存在を確認するため

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

しかし、私はエラーを下回っています

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

if: Expression Syntax.

誰でもこれを行う方法を教えてもらえますか?

11
dcds

manpage から:

f
    Plain file

ifステートメントで使用します。

if ( -f file.txt ) then
    echo Exists
else
    echo No such file
endif

この質問 および前の質問 に基づいて、POSIXシェル構文を使い続けているため、csh構文の動作については無知のようです。 stronglyは、csh構文に慣れるか、POSIXシェルを使用することをお勧めします(おそらくスクリプト作成に適しています)とにかく)。

7
Martin Tournoij

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
4
kvivek