Como usar as variáveis ambientais do OpenVPN para scripts embutidos?

1

Estou tentando usar as variáveis ambientais oferecidas pelo OpenVPN inline.

Isso funciona bem:

Configuração do cliente OpenVPN:

[...]
up /tmp/script.sh
[...]

/tmp/script.sh:

#!/bin/bash
echo $ifconfig_remote

No entanto, se eu tentar fazer isso inline, no arquivo de configuração não funciona.

Configuração do cliente OpenVPN:

[...]
up '/bin/echo $ifconfig_remote'
[...]

Ele literalmente imprime $ifconfig_remote . Eu também tentei colocá-lo em ${ifconfig_remote} ou carrapatos.

Existe uma maneira de acessar / imprimir variáveis ambientais, sem o uso de scripts externos?

    
por SaAtomic 29.03.2017 / 10:41

1 resposta

1

Isto soa como o OpenVPN diretamente exec() s o comando dado, ao invés de passá-lo para o shell. O resultado é que você não obtém interpolação de shell, o que no seu caso significa que suas variáveis são usadas literalmente.

Se você não quiser usar um script, tente chamar explicitamente o shell:

up '/bin/sh -c "echo $ifconfig_remote"'
    
por 29.03.2017 / 12:46