Как избежать команды grep, находящей закомментированные строки в исходном файле?

Я использую программное обеспечение, в котором я хочу проверить, установлено ли miniconda. Поэтому я проверил строки «miniconda» или «anaconda» в файле .bashrc с помощью команды grep. Тем не менее, он также находит любую из приведенных выше строк, которые закомментированы в файле .bashrc, который я не хочу иметь. Как это исправить? Соответствующая часть моей bashscript выглядит следующим образом.

#Finding if miniconda or anaconda string is in bashrc  
if grep -qF -e miniconda -e anaconda "$HOME"/.bashrc ;then    
  echo "miniconda is found in .bashrc"

Я проверил это, добавив следующие строки в файл .bashrc.

#anaconda
#miniconda 

Клеммный выход

jen@scs400:/scratch$ source bash_script.sh     
miniconda is found in .bashrc
3
задан 29 April 2019 в 20:50

1 ответ

Попробуйте это:

if grep -qwE '^[^#]*(ana|mini)conda' "$HOME"/.bashrc ;then
    echo "miniconda/anaconda is found in .bashrc"
fi
0
ответ дан 29 April 2019 в 20:50

Другие вопросы по тегам:

Похожие вопросы: