.configure文件中的bash代码行
我需要理解以下代码行:.configure文件中的bash代码行,bash,grep,configuration-files,pipe,head,Bash,Grep,Configuration Files,Pipe,Head,我需要理解以下代码行: BIN_DIR=`grep BIN_DIR= $SMLCM | head -1` 其中,$SMLCH包含一个路径 到目前为止,我的理解是: grep将生成一些字符串和可能的路径。grep如何处理BIN\u DIR= 路径被传递到head,路径中的所有文件将用于提取它们的第一行 对某些内容进行评估(具体是什么?)并存储在BIN\u DIR 致以最良好的祝愿 西蒙 grep将匹配var$SMLCM命名的文件内容中包含BIN_DIR=的每一行 海德将走第一条线 该行(返回
BIN_DIR=`grep BIN_DIR= $SMLCM | head -1`
其中,$SMLCH
包含一个路径
到目前为止,我的理解是:
将生成一些字符串和可能的路径。grep如何处理grep
BIN\u DIR=
- 路径被传递到head,路径中的所有文件将用于提取它们的第一行
- 对某些内容进行评估(具体是什么?)并存储在
BIN\u DIR
这将在$SMLCM变量中指定的文件中查找文字字符串“BIN_DIR=”的所有出现,并仅获取该输出的第一行并将其分配给BIN_DIR 请注意,这可能无法按您希望的方式工作,因为分配给BIN_DIR的是类似“BIN_DIR=blah”的字符串,也就是说,它可能具有与以下相同的效果:
BIN_DIR=“BIN_DIR=blah”这将仅提取
$BIN_DIR
第一次出现在由$SMLCM
指向的文件中时的值,并将其分配给当前脚本中的变量$BIN_DIR
:
BIN_DIR=$(sed -n 's/^BIN_DIR=\(.*\)$/\1/p' $SMLCM | head -n 1)
:运行流编辑器,不要打印每行显示的内容sed-n
:替换s/
:以文本“BIN\u DIR=”开头的一行(“^”)^BIN\u DIR=
:以零个或多个字符(“*”)组成的组(“\(\”)结束(“$”)\(.*\)$
:将匹配项替换为/
:第一个组(仅在本例中)的内容\1
:完成替换并打印结果/p