在哪里存储 C 命令行应用程序和 bash 脚本的设置?

Where to store settings for C command line apps and bash scripts?

这可能是一个显而易见的问题,但我找不到明确的答案。

在 C 中制作命令行实用程序或编写 bash 脚本时,我可以在哪里保存值以供以后参考?

我要找的是类似于 NSUserDefaults 的东西。

对于 bash 设置,shell 调用通常在启动时读取 /etc/profile 和私有等价物 ~/.bash_profile~/.bashrc。所以查看这些文件并进行适当的修改。如果可能,我建议在进行任何更改之前备份这些文件。

请注意 /etc/profile 文件通常会提供全局设置,而如果您的主目录中存在等效文件,则该文件可能会覆盖全局设置。

如果您希望即时添加或修改环境变量,请尝试...

一个。将以下代码添加到 ~/.bash_profile~/.bashrc 文件的末尾

   if [ -e ./.bashadd ]
   then
        source ./.bashadd
   fi

b。将添加或修改附加到文件 ./.bashadd 即时 (注意:您必须在程序中处理它)

   echo export NAME=John >> ./.bashadd

c。在登录时,当您调用 bash 或当您获取 ~/.bash_profile~/.bashrc 文件时,环境变量将可用

测试:

[shell ~]$ echo export NAME=John >> ./.bashadd
[shell ~]$ source ./.bashrc
[shell ~]$ echo $NAME
John
[shell ~]$

诚然,这不是一个理想的解决方案。我建议只在您的本地环境中而不是在全球范围内这样做(即不使用 /etc/profile