Perlスクリプトからシェルスクリプトに変数をエクスポートするには?

Perlスクリプトからシェルスクリプトに変数をエクスポートするには?

以下のコードでPerlスクリプトを実行するシェルスクリプトがあります。

perl perlscript.pl

Perlスクリプトでという変数を定義しました$circle。これで、シェルスクリプトでこの変数の値を使用したいと思います。どのようにダイヤルできますか?

ベストアンサー1

perlスクリプトが$ circle値以外の出力を生成しない場合は、コマンド置換を使用してその出力を変数に保存できます。たとえば、

circle=$(perl perlscript.pl)

perlスクリプトが追加の出力を生成する場合、または出力がまったく生成されない場合は、次のことを行う必要があります。

  1. sed一般的なテキスト処理ツール(、、awkなど)を使用して、出力から必要な値のみを抽出します。以下は非常に簡単な例です。perlgrep

    circle=$(perl perlscript.pl | sed -e 's/junk.i.dont.want//')

  2. perlスクリプトで $circle 値をファイル (例: /path/to/circle) に書き込んで、シェルから読み取ることができるように (たとえばcircle=$(cat /path/to/circle)) 間接的な方法を使用します。

注:追加の詳細がなければ、このような一般的なアドバイスを提供することは不可能です。

おすすめ記事