我有一个像这样的文本配置文件:
## COMMENT
KEY1=VALUE1 ## COMMENT
KEY2=VALUE2
KEY3=VALUE3 ## COMMENT
## COMMENT
Run Code Online (Sandbox Code Playgroud)
如您所见,它具有键值对,但它也包含注释行和空行.在某些情况下,注释与键值对在同一行.
如何阅读此配置文件并将密钥设置为shell脚本中的变量名称,以便我可以将它们用作:
echo $KEY1
Run Code Online (Sandbox Code Playgroud)
例如,这里是您的配置文件的内容:
email=test@test.com
user=test
password=test
Run Code Online (Sandbox Code Playgroud)
有两种方式:
使用源来做到这一点。
Run Code Online (Sandbox Code Playgroud)source $<your_file_path> echo $email
读取内容然后循环每一行进行比较以确定正确的行
Run Code Online (Sandbox Code Playgroud)cat $<your_file_path> | while read line do if [[$line == *"email"*]]; then IFS='-' read -a myarray <<< "$line" email=${myarray[1]} echo $email fi done
第二种解决方案的缺点是您需要使用 if 来检查每一行。
只需在代码开头获取代码即可:
. file
Run Code Online (Sandbox Code Playgroud)
或者
source file
Run Code Online (Sandbox Code Playgroud)