2015-10-22 1 views
0

у меня есть, если заявление, что ищет существование файла репо в /etc/yum.repos.d/: Мой код выглядит следующим образом:Если заявление не правильно идентифицировать файл репо существует

OptoolsRepo='rhel-7-server-7.0-rpms' 

    if [ -e /etc/yum.repos.d/$OptoolsRepo ] 
    then 
     echo " " 
      echo "Your Repo For OpenStack OpTools already exists." 
      else 
     #  function add-repo() { 
     #    reponame='rhel-7-server-rpms' 
     #    url='XXXXXXX/XXX/XXX/XXXX/' 
         touch /etc/yum.repos.d/$OptoolsRepo.repo 
         echo -e "[$OptoolsRepo]\nname=$OptoolsRepo\nbaseurl=${urlOptools}\nsselverify=0\nenabled=1\ngpgcheck=0\nmetadata_expire=12h" >> /etc/yum.repos.d/$OptoolsRepo.repo 
     #} 
    fi 

В /etc/yum.repos.d/ я вижу следующее :

[r[email protected] ~]# ls -lah /etc/yum.repos.d/ 
total 52K 
drwxr-xr-x 2 root root 4.0K Oct 22 13:42 . 
drwxr-xr-x 91 root root 8.0K Oct 19 14:18 .. 
-rw-r--r-- 1 root root 4.0K Oct 21 14:09 .repo 
-rw-r--r-- 1 root root 254 Jun 29 03:59 rhel7-isv.repo 
-rw-r--r-- 1 root root 269 Jun 19 10:45 rhel7-security.repo 
-rw-r--r-- 1 root root 518 Oct 22 13:42 rhel-7-server-7.0-rpms 

Я не уверен, почему это происходит. Есть ли проблема с синтаксисом с моим оператором if? Хотелось бы помочь, если кто-нибудь может помочь!

+1

почему вы положили ' '' вокруг тогда? общий синтаксис для операторов if: if [// statement]; то – JackVanier

+0

Даже не '' '', а обратные. –

+0

Чтобы быть ясным, проблема заключается в том, что оператор не распознает, что файл repo уже существует. – user2019182

ответ

0

Это просто ошибка синтаксиса, правильный путь:

#!/bin/bash 

OptoolsRepo='rhel-7-server-7.0-rpms' 

    if [ -e "/etc/yum.repos.d/"$OptoolsRepo ]; then 

     echo " " 
      echo "Your Repo For OpenStack OpTools already exists." 
      else 
     #  function add-repo() { 
     #    reponame='rhel-7-server-rpms' 
     #    url='XXXXXXX/XXX/XXX/XXXX/' 
         touch /etc/yum.repos.d/$OptoolsRepo.repo 
         echo -e "[$OptoolsRepo]\nname=$OptoolsRepo\nbaseurl=${urlOptools}\nsselverify=0\nenabled=1\ngpgcheck=0\nmetadata_expire=12h" >> /etc/yum.repos.d/$OptoolsRepo.repo 
     #} 
    fi 
+0

Эй, Дуглас, к сожалению, это не решило проблему. Я думаю, вам нужна только точка с запятой, если тогда она находится в той же строке, что и сама инструкция. – user2019182

+0

Это верно, что точка с запятой необходима только тогда, когда 'then' отображается в другой строке, но это должно исправить вашу проблему, поскольку @douglas также удалил ошибочные обратные ссылки из' then' в вашем 'if' -запросе. – JNevill

+0

Извините, мой вопрос неверен! Я не помещал '' then'', это была ошибка загрузки, когда я вводил код. Представьте себе утверждение без '' then'' – user2019182

Смежные вопросы