Como eu configuro uma variável ambiental com um ponto?

2

Não consegui encontrar uma maneira de definir uma variável ambiental com ponto (.).

Por exemplo:

export mule.home=/Users/chandra/mule/
export {mule.home}=/Users/chandra/mule/
export $mule.home=/Users/chandra/mule/

todos lançam um erro indicando que não é um identificador válido, como:

-bash: export: '.home=/Users': not a valid identifier

Definir mule_home funciona, mas não mule.home . Alguma idéia, sugestões?

    
por bschandramohan 30.10.2012 / 07:08

1 resposta

7

Isso porque um nome com um ponto - e você pode acreditar no seu shell aqui - não é um identificador válido. De man bash :

name A word consisting only of alphanumeric characters and underscores, and beginning with an alphabetic character or an underscore. Also referred to as an identifier.

O ponto não é um caractere alfanumérico e também não é um sublinhado. Você pode criar algo como:

env mule.home=/Users/chandra/mule/

Mas você não será capaz de ler isso, até onde eu sei. Além disso, o bash deve impedir você mesmo de criar esses identificadores em primeiro lugar.

Minha sugestão seria criar a variável de ambiente com um sublinhado, e possivelmente usar UPPERCASE palavras, como é prática comum.

Ou use outro shell que suporte pontos em variáveis de ambiente, por exemplo, csh e tcsh .

    
por 30.10.2012 / 07:31