Estou usando o shell Bash no Ubuntu 18.04 LTS (Bionic Beaver). Eu gostaria de permitir que um usuário defina uma variável de ambiente no bash que possa ser usada em instâncias de terminal subsequentes para definir a verbosidade de certas funções usando essa variável.
O que os usuários teriam que fazer para habilitar e desabilitar esse recurso? O foco é que o usuário habilite ou desabilite a funcionalidade da variável de ambiente sem a necessidade de alterá-la .bashrc
diretamente. As configurações devem ser aplicáveis apenas a um usuário específico que deseja tal capacidade.
Para definir uma variável, tudo o que você precisa fazer é configurá-la. Por exemplo, digamos que você tenha uma função shell que muda seu comportamento dependendo se uma variável está definida, assim:
Você pode então alterar seu comportamento definindo a variável de acordo. Por exemplo:
Você pode até definir a variável para essa instância específica da função apenas definindo a variável ao mesmo tempo em que inicia o comando:
Portanto, se você escrever funções e scripts que esperam essa variável, cada usuário é livre para defini-la como quiser. Se eles quiserem tornar a alteração permanente, eles podem adicioná-la ao arquivo
~/.profile
ou~/.bash_profile
(se existir) para sempre defini-la:Esta, a ideia de programas reagindo a variáveis sendo definidas ou não no ambiente em que são executados, é uma expressão idiomática relativamente comum. Por exemplo,
ls
reageLS_COLORS
egrep
reage aGREP_COLORS
(entre outros). Você verá que muitasman
páginas têm umaENVIRONMENT
seção, geralmente perto do final, que explica a quais variáveis de ambiente o programa foi escrito para reagir.Se estou entendendo sua pergunta corretamente, você quer que um determinado usuário --- se desejar --- seja capaz de ativar a opção detalhada, por exemplo,
mv -v
--- em determinados comandos. Se estiver correto, tenho duas sugestões:bash_aliases
arquivo contendo aliases que você aprova e disponibilize-o para todos em sua rede. Um usuário origina esse arquivo quando abre um terminal ou adicionasource <path>/bash_aliases
em algum lugar em seu arquivo~/.bashrc
.Não tenho como saber o quão amplo é o seu conhecimento do bash, então vou oferecer meu próprio arquivo bash_aliases como exemplo. Serve-me bem.