Linux 如何通过bash读取文件中包含非字符串命令的行

Linux 如何通过bash读取文件中包含非字符串命令的行,linux,string,bash,shell,Linux,String,Bash,Shell,下面是名为“.bashrc”的文件的快照: 我是bash的初学者,我在bash中尝试做的是检查文件中的最后两行是否存在并正确编写,例如: if [ export PATH=/opt/ads2/arm-linux64/bin:$PATH ] then echo "found system variable lines" else echo "systemvariables do not exists, please insert it in .bashr

下面是名为“.bashrc”的文件的快照:

我是bash的初学者,我在bash中尝试做的是检查文件中的最后两行是否存在并正确编写,例如:

if [ export PATH=/opt/ads2/arm-linux64/bin:$PATH ]
then
   echo "found system variable lines"
else
   echo "systemvariables do not exists, please insert it in .bashrc"
fi
然而,这似乎并不简单,因为要共享的两行不是纯字符串行


提前感谢

使用
grep
查找文件内容中的内容

# if file .bashrc contains the line exactly export PATH=....
if grep -Fxq 'export PATH=/opt/ads2/arm-linux64/bin:$PATH' .bashrc ; then
   echo "found system variable lines"
else
   echo "systemvariables do not exists, please insert it in .bashrc"
fi

阅读
man grep
并决定是否需要grep中的
-F
-x
选项。为了确保研究和学习正则表达式-我建议在网上提供正则表达式纵横字谜。研究了shell中单引号和双引号的区别。记得用检查脚本,使用
grep
查找文件内容中的内容

# if file .bashrc contains the line exactly export PATH=....
if grep -Fxq 'export PATH=/opt/ads2/arm-linux64/bin:$PATH' .bashrc ; then
   echo "found system variable lines"
else
   echo "systemvariables do not exists, please insert it in .bashrc"
fi

阅读
man grep
并决定是否需要grep中的
-F
-x
选项。为了确保研究和学习正则表达式-我建议在网上提供正则表达式纵横字谜。研究了shell中单引号和双引号的区别。请记住检查脚本,因为(至少对我来说)您不清楚要做什么。如果要检查
路径
是否包含特定字符串(例如,
/opt/ads2x
),可以通过
If[[$PATH=*/opt/ads2x*]在
bash
中对其进行测试;然后回声“发现”;否则回显“未找到”;fi
。其他变量同上。@M.NejatAydin感谢您的评论。必须手动将行导出路径=/opt/ads2/arm-linux64/bin:$PATH作为一个整体添加到.bachrc文件中(大部分在文件末尾)。然后,我的bash脚本作为一种验证方法,必须简单地检查它是否存在。您可能对一些自动化工具感兴趣,例如ansible及其
lineinfle
模块。请不要发布文本图像。请以text.@k.jbaili的形式发布文本,如果grep-Fxq'export PATH=/opt/ads2/arm-linux64/bin:$PATH'~/.bashrc;然后回声“发现”;否则回显“未找到”;fi?@M.NejatAydin。谢谢你,我不清楚(至少对我来说)你想做什么。如果要检查
路径
是否包含特定字符串(例如,
/opt/ads2x
),可以通过
If[[$PATH=*/opt/ads2x*]在
bash
中对其进行测试;然后回声“发现”;否则回显“未找到”;fi
。其他变量同上。@M.NejatAydin感谢您的评论。必须手动将行导出路径=/opt/ads2/arm-linux64/bin:$PATH作为一个整体添加到.bachrc文件中(大部分在文件末尾)。然后,我的bash脚本作为一种验证方法,必须简单地检查它是否存在。您可能对一些自动化工具感兴趣,例如ansible及其
lineinfle
模块。请不要发布文本图像。请以text.@k.jbaili的形式发布文本,如果grep-Fxq'export PATH=/opt/ads2/arm-linux64/bin:$PATH'~/.bashrc;然后回声“发现”;否则回显“未找到”;fi?@M.NejatAydin。谢谢,这很有效