允许用户设置决定终端上运行的命令行为的变量

允许用户设置决定终端上运行的命令行为的变量

我希望用户能够设置一个变量,当他们启动新的终端会话时,可以使用该变量来定义他们在命令行中运行命令时的详细程度。

设置变量的一种方法是将其包含在 中~/.bashrc。最简单的形式是,类似echo export MYVAR=value >> ~/.bashrcalready 的命令使该变量可用于未来的交互式 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”

相关内容