TL; DR:如何将一组键/值对从文本文件导出到shell环境中?
为了记录,下面是问题的原始版本,带有示例.
我正在用bash编写一个脚本,用于解析某个文件夹中包含3个变量的文件,这是其中之一:
MINIENTREGA_FECHALIMITE="2011-03-31"
MINIENTREGA_FICHEROS="informe.txt programa.c"
MINIENTREGA_DESTINO="./destino/entrega-prac1"
Run Code Online (Sandbox Code Playgroud)
该文件存储在./conf/prac1中
我的脚本minientrega.sh然后使用以下代码解析文件:
cat ./conf/$1 | while read line; do
export $line
done
Run Code Online (Sandbox Code Playgroud)
但是当我minientrega.sh prac1在命令行中执行时,它不会设置环境变量
我也试过使用,source ./conf/$1但同样的问题仍然适用
也许有其他方法可以做到这一点,我只需要使用我传递的文件的环境变量作为我的脚本的参数.
如何在Bash中取消设置readonly变量?
$ readonly PI=3.14
$ unset PI
bash: PI: readonly variable
Run Code Online (Sandbox Code Playgroud)
还是不可能?
我正在学习bash,我看到了这个结构:
cat file | while IFS= read -r line;
do
...
done
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释一下IFS=吗?我知道它是输入字段分隔符,但为什么它被设置为空?