2012-06-17 16 views
6

Mam konfiguracji serwera bluehost i staram się ustawić ścieżkę w moim programie PerlUstawianie ścieżki w kodzie programu

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

Jednak tylko go stil drukuje orginal $ PATH. Plik/usr/local/jdk nie zostanie dodany. Czy ktoś może mi powiedzieć, co robię źle?

Odpowiedz

12

Tworzysz powłokę, wykonując polecenie powłoki, które ustawia zmienną środowiskową w powłoce, a następnie zamyka powłokę, nie robiąc nic ze zmienną środowiskową. Nigdy nie zmieniłeś środowiska perl. To by było zrobione przy użyciu Trochę dziwne, aby dodać do końca ścieżki.

2

Należy pamiętać, że odpowiedź ikegami ustawi ścieżkę tylko w lokalnym skryptu Perla i NIE zmieni go w powłoce, która nazywa się skryptem Perla.

Jeśli chcesz zmienić ścieżkę w środowisku powłoki, więc kolejne programy, które prowadzone będą również korzystać z tej zmiany, trzeba będzie użyć „źródło” lub sekwencji „dot-space”, lub jeszcze lepiej - zmień tę ścieżkę w ścieżkach w plikach ".bashrc" lub ".login".

+0

Okay.wypróbuj też. – user1092042

+0

@ikegami, przeczytaj ponownie moją odpowiedź - nie jest to sprzeczne z twoją. W związku z tym, że nie jest to jasne, po prostu podkreślam, że zmiana nastąpi tylko w samym kontekście skryptu Perl i nie będzie trwała poza skryptem, po jej zakończeniu, tj .: w powłoce wywołującej. – Gonen

Powiązane problemy