這可能是一個明顯的問題,但我找不到明確的答案。在哪裏存儲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