这可能是一个明显的问题,但我找不到明确的答案。在哪里存储C命令行应用程序和bash脚本的设置?
在C中编写命令行实用程序或编写bash脚本时,我可以在哪里保存值供以后参考?
我在找的东西类似于NSUserDefaults
。
这可能是一个明显的问题,但我找不到明确的答案。在哪里存储C命令行应用程序和bash脚本的设置?
在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
℃。在登录,当你调用bash
,或者当您采购的~/.bash_profile
或~/.bashrc
文件,环境变量将可
测试:
[shell ~]$ echo export NAME=John >> ./.bashadd
[shell ~]$ source ./.bashrc
[shell ~]$ echo $NAME
John
[shell ~]$
诚然,不是一个理想的解决方案。我建议只在您的本地环境中进行此操作,而不是在全局范围内(即不使用/etc/profile
)
我已经有一个.bash_profile设置,但我正在编写脚本,需要动态修改值并持续保存它们。 –
@RASS - 查看更新后的答案。 – tale852150
感谢这是一个很好的解决方案。有没有什么方法可以告诉一个变量是否已被定义。 –
“where” - 在类似'〜/ .my_app'的文件中。 – i486
所以规范是主目录中的隐藏文件夹? –
没有必要,但只是一个例子。它也可以是'。/ my_app'。 – i486