我在 Ubuntu 18.04 LTS(仿生海狸)上使用 Bash shell。我想允许用户在 bash 中定义一个环境变量,可以在后续终端实例中使用该变量来设置使用该变量的某些函数的详细程度。
用户必须做些什么来启用和禁用此类功能?重点是让用户无需.bashrc
直接更改即可启用或禁用环境变量功能。这些设置应该只适用于需要这种能力的特定用户。
我在 Ubuntu 18.04 LTS(仿生海狸)上使用 Bash shell。我想允许用户在 bash 中定义一个环境变量,可以在后续终端实例中使用该变量来设置使用该变量的某些函数的详细程度。
用户必须做些什么来启用和禁用此类功能?重点是让用户无需.bashrc
直接更改即可启用或禁用环境变量功能。这些设置应该只适用于需要这种能力的特定用户。
要设置变量,您需要做的就是设置它。例如,假设您有一个 shell 函数,它根据是否设置了变量来改变其行为,如下所示:
然后,您可以通过相应地设置变量来更改其行为。例如:
您甚至可以仅通过在启动命令的同时定义变量来为该函数的特定实例设置变量:
因此,如果您编写需要此变量的函数和脚本,则每个用户都可以随意设置它。如果他们想让更改永久化,他们可以将其添加到他们的
~/.profile
或~/.bash_profile
(如果存在)文件以始终设置它:程序对在它们运行的环境中设置或未设置的变量做出反应的想法是一个相对常见的习语。例如,对(以及其他)
ls
做出反应LS_COLORS
和grep
反应。GREP_COLORS
你会看到很多man
页面都有一个ENVIRONMENT
部分,通常在结尾处,解释了程序已经编写以响应哪些环境变量。如果我正确理解了您的问题,您希望给定的用户——如果他们愿意的话——能够激活详细选项,例如
mv -v
——在某些命令上。如果这是正确的,我有两个建议:bash_aliases
包含您认可的别名的文件,并将其提供给您网络上的每个人。用户在打开终端时获取该文件,或source <path>/bash_aliases
在其~/.bashrc
.我无法知道您的 bash 知识有多广,所以我将提供我自己的 bash_aliases 文件作为示例。它对我很有帮助。