我正在使用 Linux 和 bash。我有一个简单的文本文件,如下所示:
VAR1=100
VAR2=5
VAR3=0
VAR4=99
Run Code Online (Sandbox Code Playgroud)
我想通过 bash 提取 VAR2 的值,即 5。
我怎么能那样做?
假设该文件名为 vars.txt
sed -n 's/^VAR2=\(.*\)/\1/p' < vars.txt
Run Code Online (Sandbox Code Playgroud)
您可以在其他地方使用该值,就像这样使用单反引号
echo VAR2=`sed -n 's/^VAR2=\(.*\)/\1/p' < txt`
Run Code Online (Sandbox Code Playgroud)
最简单的方法可能是使用source或简单.地读取和执行文件。这适用于您的示例,因为变量值中没有空格。否则,您需要使用 grep + cut 或 awk,如其他答案中所述。
. /path/to/your/file
echo $VAR2
Run Code Online (Sandbox Code Playgroud)
[编辑] 如 dawg 所述,这将使脚本中的其他变量也可用,并可能覆盖现有变量。