2016-07-20 93 views
0

這可能是一個明顯的問題,但我找不到明確的答案。在哪裏存儲C命令行應用程序和bash腳本的設置?

在C中編寫命令行實用程序或編寫bash腳本時,我可以在哪裏保存值供以後參考?

我在找的東西類似於NSUserDefaults

+1

「where」 - 在類似'〜/ .my_app'的文件中。 – i486

+0

所以規範是主目錄中的隱藏文件夾? –

+0

沒有必要,但只是一個例子。它也可以是'。/ my_app'。 – i486

回答

2

對於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

+0

我已經有一個.bash_profile設置,但我正在編寫腳本,需要動態修改值並持續保存它們。 –

+0

@RASS - 查看更新後的答案。 – tale852150

+0

感謝這是一個很好的解決方案。有沒有什麼方法可以告訴一個變量是否已被定義。 –

相關問題