как проверить наличие любого файла в csh скрипте?
для проверки существования любого файла в csh-скрипте я использую
if [ -f /var/opt/temip/conf/.temip_config ]
, но я получаю ниже ошибка
if [ -f /var/opt/temip/conf/.temip_config ]
if: Expression Syntax.
может кто-нибудь сказать мне, как это делать?
2 ответов
С manpage:
f
Plain file
вы используете его с if
о себе:
if ( -f file.txt ) then
echo Exists
else
echo No such file
endif
основываясь на этом вопросе и ваш предыдущий вопрос, вы, кажется, довольно невежественны относительно того, как csh
синтаксис работает, так как вы продолжаете использовать синтаксис оболочки POSIX. Я бы сильно предложите вам либо ознакомиться с csh
синтаксис или просто используйте оболочку POSIX (что, вероятно, лучше для сценариев в любом случае).
В 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