インラインスクリプトでOpenVPN環境変数を使用するには?

インラインスクリプトでOpenVPN環境変数を使用するには?

OpenVPNが提供する環境変数をインラインで使用しようとしています。

これはうまくいきます:

OpenVPN クライアントの構成:

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

/tmp/script.sh:

#!/bin/bash
echo $ifconfig_remote

ただし、これをインラインで実行しようとすると、構成ファイルでは機能しません。

OpenVPN クライアントの構成:

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

印刷を使用したり、バックティック$ifconfig_remoteで梱包してみました。${ifconfig_remote}

外部スクリプトを使用せずに環境変数にアクセス/印刷する方法はありますか?

ベストアンサー1

exec()OpenVPNが与えられたコマンドをシェルに渡すのではなく、直接実行するように聞こえます。その結果、シェル補間は得られません。これは、あなたの場合、変数が文字通り使用されることを意味します。

スクリプトを使用したくない場合は、明示的にシェルを呼び出してみてください。

up '/bin/sh -c "echo $ifconfig_remote"'

おすすめ記事