如何在bash中获取变量配置的值?

pru*_*nat 4 regex linux bash

我有一个linux配置文件,其格式如下:

VARIABLE=5753
VARIABLE2=""
....
Run Code Online (Sandbox Code Playgroud)

如何使用标准的linux工具或正则表达式获得VARIABLE2的fe值?(我需要解析文件中的目录路径).提前致谢.

Duf*_*ffJ 7

您可以使用source(又名.)命令将文件中的所有变量加载到当前 shell 中:

$ source myfile.config
Run Code Online (Sandbox Code Playgroud)

现在您可以访问文件内定义的变量的值:

$ echo $VARIABLE
5753
Run Code Online (Sandbox Code Playgroud)


Jim*_*son 5

eval $(grep "^VARIABLE=" configfile)
Run Code Online (Sandbox Code Playgroud)

将选择该行并在当前bash上下文中对其进行评估,并设置变量值.执行此操作后,您将拥有一个以VARIABLEvalue 命名的变量5753.如果配置文件中不存在这样的行,则不会发生任何事情.


ДМИ*_*КОВ 5

$> cat ./text 
VARIABLE=5753
VARIABLE2=""
Run Code Online (Sandbox Code Playgroud)

随着perl正则表达式grep可以匹配使用这些值回顾后 操作。

$> grep --only-matching --perl-regex "(?<=VARIABLE2\=).*" ./text
""
Run Code Online (Sandbox Code Playgroud)

而对于VARIABLE

$> grep --only-matching --perl-regex "(?<=VARIABLE\=).*" ./text
5753
Run Code Online (Sandbox Code Playgroud)