我希望用户能够设置一个变量,当他们启动新的终端会话时,可以使用该变量来定义他们在命令行中运行命令时的详细程度。
设置变量的一种方法是将其包含在 中~/.bashrc
。最简单的形式是,类似echo export MYVAR=value >> ~/.bashrc
already 的命令使该变量可用于未来的交互式 shell。
这是向用户提供额外命令控制权的最佳方式吗?问题是,我希望用户直接从终端更改值,而不是通过修改他们的 来更改值.bashrc
。
答案1
建议:
包括(以最简单的形式)一行,
source $HOME/.majvar.sh
例如.bashrc
...然后通过任何可行的方法操纵内容;例如,如果还“不够好”,/home/$USER/.majvar.sh
就创建自己的 Python 程序。echo >.majvar.sh "export MYVAR=value"
线索:
https://www.google.com/search?channel=fs&client=ubuntu&q=python+name+of+logged+in+user
https://www.w3schools.com/python/ref_file_readline.asp
https://stackoverflow.com/questions/6159900/correct-way-to-write-line-to-file
或者:
使其.majvar
仅包含值
,并.bashrc
包含类似于
如果[-r.majvar];那么 设置MYVAR="$( cat .majvar )" export MYVAR # 查看 man bash,搜索“export” 菲