[关闭]
@xtccc 2017-05-28T00:14:14.000000Z 字数 392 阅读 1366

解析configuration文件

给我写信
GitHub

此处输入图片的描述


假设有myconf.conf文件:

  1. x = X
  2. hello=HELLO
  3. c= C
  4. d =D

希望给定key,返回value,可以这么做:

  1. getValue() {
  2. local file="myconf.conf"
  3. local key=$1
  4. local value=`awk -F ' *= *' '$1=="'$key'"{print $2}' $file`
  5. echo $value
  6. }
  7. v=$(getValue $1)
  8. echo "v = $v"



值得注意的是,
awk -F ' *= *' '$1=="'$key'"{print $2}' $file
不能写成
awk -F ' *= *' '$1=="$key"{print $2}' $file
因为,在单引号内, $key是不能被正确解析的。
参考 Expansion of variable inside single quotes in a command in bash shell script

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注