我正在开发一个 bash 提示项目,它作用于您当前所在目录中的不同状态。
我现在需要的是一种从当前目录加载迷你配置的方法,这很容易用 完成。 .params.conf
,除了这种方法非常不安全,因为当您偶然发现一个包含 .params.conf 文件的目录时,任何对您所在目录具有写权限的人都可以像您一样创建和执行命令.
从这样的文件中加载变量的最佳方式是什么? 变量将主要处于真/假状态,因此我不会以任何方式解析它们以便可以执行。
可能的解决方案:
一个循环,加载每个预定义的变量是可能的,但我想保持代码的可读性。
将整个文件放在一个 bash 数组中是最好的解决方案,但我如何才能像这样在 bash 中填充键/值字典?
如果 bash 可以获取一个只加载变量的文件..
我还不知道 params.conf 文件的格式会是什么样子。但我认为最简单的方法是每个参数一行,用空格分隔。就像每一行中的一个:key value that can have space in it
。
最佳答案
eval
可以是 very insecure并且仍然可以执行恶意代码。最好使用declare
:
while read varname value
do
declare "$varname=$value"
done < .params.conf
关于linux - 加载不受信任的配置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10571721/