我需要了解以下代码行:
BIN_DIR=`grep BIN_DIR= $SMLCM | head -1`
其中$SMLCH
包含路径
这是我到目前为止所理解的:
grep
会生成一些字符串,可能的路径。 grep对BIN_DIR=
做了什么?
将pathes传递给head,路径中的所有文件将用于提取第一行
评估某些内容(究竟是什么?)并存储在BIN_DIR
致以最诚挚的问候,
西蒙
答案 0 :(得分:1)
答案 1 :(得分:1)
这将在$ SMLCM变量中指定的文件中找到文字字符串“BIN_DIR =”的所有出现的内容,并且只取该输出的第一行并将其分配给BIN_DIR。
请注意,这可能不会按照你想要的方式工作,因为什么被分配到BIN_DIR是一些字符串,如“BIN_DIR = blah”,它可能具有与以下相同的效果:
BIN_DIR = “BIN_DIR =嗒嗒”
答案 2 :(得分:0)
$BIN_DIR
首次出现在$SMLCM
所指向的文件中,并将{<1}}分配给变量$BIN_DIR
当前的脚本:
BIN_DIR=$(sed -n 's/^BIN_DIR=\(.*\)$/\1/p' $SMLCM | head -n 1)
sed -n
:运行流编辑器,不要打印出现的每一行s/
:替换^BIN_DIR=
:一行以(“^”)开头,文字“BIN_DIR =”\(.*\)$
:结束(“$”)一个组(“\(\)”)为零或更多(“*”)的任何字符(“。”)/
:将此匹配替换为\1
:第一个(仅在此情况下)组的内容/p
:完成替换并打印结果