Como eu configuro variáveis de ambiente através de um atalho de teclado?

0

Eu tenho um script que incrementa uma variável de ambiente, mas só funciona se eu o executar perpendendo-o com "source" ou com um ".". Infelizmente, isso significa que, se eu tentar ligá-lo a uma chave, não consigo usar o modificador "source", portanto, as variáveis de ambiente não mudam realmente.

(Supondo que um TEST inteiro já exista no ambiente shell):

#!/bin/bash

let "TEST=$TEST+1"
echo $TEST
export TEST=$TEST

Idealmente, esse script incrementaria a variável de teste, mas (se eu entender isso corretamente), ele o fará apenas no ambiente "sub-shell" que esse script gera quando é executado. É possível modificar uma variável de ambiente dessa maneira sem usar "source"? Se não, de que outra forma eu poderia alcançar meu objetivo? Eu apreciaria qualquer ajuda, obrigado!

    
por user2840488 10.08.2014 / 08:01

2 respostas

1

A solução mais fácil é provavelmente armazenar a variável em um arquivo.

Escreva para um arquivo:

echo "13" > /path/to/my-variable.txt

Leia a primeira linha de um arquivo na variável line :

read -r line < /path/to/my-variable.txt

    
por TheSchwa 10.08.2014 / 08:09
0

Semelhante à resposta fornecida sobre o uso de um arquivo .txt, você provavelmente poderia fazer algo com um armazenamento simples de valor-chave, como redis ou memcached (ou um banco de dados, mas isso é muito exagerado).

$ sudo apt-get install redis-server redis-tools

$ redis-cli SET testing 5
OK

$ redis-cli GET testing 
"5"
    
por Cris Holdorph 11.08.2014 / 19:55