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?
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).
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