8

ブルーホストサーバーをセットアップしていて、Perlプログラムでパスを設定しようとしています

 print "Content-type: text/html\n\n";
    my $output=`export PATH=\${PATH}:/usr/local/jdk/bin`;
    my output1=`echo \$PATH`;
    print $output1;

ただし、元の$PATHのみを出力します。/ usr / local/jdkは追加されません。誰かが私が間違っていることを教えてもらえますか?

4

2 に答える 2

13

シェルを作成し、シェルに環境変数を設定するシェルコマンドを実行してから、環境変数を使用せずにシェルを終了します。perlの環境を変更したことはありません。それはを使用して行われます

local $ENV{PATH} = "$ENV{PATH}:/usr/local/jdk/bin";

ただし、パスの最後に追加するのは奇妙です。

于 2012-06-17T05:33:04.343 に答える
3

ikegamiの回答は、ローカルのPerlスクリプトのパスのみを設定し、Perlスクリプトを呼び出したシェルのパスは変更しないことに注意してください。

シェル環境でパスを変更したい場合は、次に実行するプログラムもこの変更の恩恵を受けるため、「ソース」または「ドットスペース」シーケンスを使用する必要があります。 ' .bashrc 'または' .login 'ファイルで行われるパス。

于 2012-06-17T22:33:19.697 に答える