web-dev-qa-db-fra.com

comment vérifier l'existence de n'importe quel fichier dans le script csh?

Pour vérifier l'existence de tout fichier dans le script csh que j'utilise

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

mais j'obtiens en dessous de l'erreur

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

if: Expression Syntax.

Quelqu'un peut-il me dire comment faire cela?

11
dcds

De la page de manuel :

f
    Plain file

Vous l'utilisez avec une instruction if:

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

Sur la base de cette question et de votre question précédente , vous semblez être assez ignorant du fonctionnement de la syntaxe csh, car vous continuez à utiliser la syntaxe POSIX Shell. Je voudrais fortement vous suggérer soit de vous familiariser avec la syntaxe csh, soit d'utiliser simplement un shell POSIX (qui est probablement mieux pour les scripts en tous cas).

7
Martin Tournoij

Dans CShell pour vérifier l'existence d'un fichier, utilisez -e option

Le nom du fichier n'a pas besoin d'être "codé en dur" dans l'instruction if, mais peut être un paramètre comme celui-ci:

 if (-e "$filePath") then

Voici une liste complète des requêtes de fichiers 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