在bash脚本中,我想读取如下配置文件:
re=foo\.bar
这样,在获取该文件后,$ re的值为foo \ .bar。 当我只是源文件时,反斜杠就会丢失。我怎么能这样做,而不引用' foo.bar'在配置文件中(我想保持配置文件尽可能简单)?
答案 0 :(得分:1)
你需要引用反斜杠,或者单独使用另一个反斜杠
re=foo\\.bar
或作为引用字符串的一部分:
re='foo\.bar'
答案 1 :(得分:0)
逐行阅读:
IFS='='
while read -r var val
do
eval "$var=\"$val\""
done < file.conf
答案 2 :(得分:0)
使用read
循环-r
和printf -v
:
while IFS=$' \t' read -r LINE; do
[[ $LINE != \#* && $LINE =~ ^[[:alpha:]_][[:alnum:]_]*= ]] || continue
IFS== read -r A B <<< "$LINE"
printf -v "$A" "$B"
done