Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.configure文件中的bash代码行_Bash_Grep_Configuration Files_Pipe_Head - Fatal编程技术网

.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

致以最良好的祝愿

西蒙
  • grep将匹配var$SMLCM命名的文件内容中包含BIN_DIR=的每一行
  • 海德将走第一条线
  • 该行(返回刻度内命令的结果)被重新分配给BIN_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
      :完成替换并打印结果

    这不应是社区wiki.OK,但无法撤消