我正在运行一个我想检查是否miniconda已经安装的软件。因此,我.bashrc使用grep命令检查了文件中的“miniconda”或“anaconda”字符串。但是,它还会找到在.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"
Run Code Online (Sandbox Code Playgroud)
我已经通过在.bashrc文件中添加以下几行来测试这一点。
#anaconda
#miniconda
Run Code Online (Sandbox Code Playgroud)
终端输出
jen@scs400:/scratch$ source bash_script.sh
miniconda is found in .bashrc
Run Code Online (Sandbox Code Playgroud)
尝试这个:
if grep -qwE '^[^#]*(ana|mini)conda' "$HOME"/.bashrc ;then
echo "miniconda/anaconda is found in .bashrc"
fi
Run Code Online (Sandbox Code Playgroud)