2015-06-11 2 views
0

Я хочу импортировать переменные окружения, установленные в моем файле оболочки Linux, в мой скрипт perl? И я не хочу анализировать пары ключ = значение. Как это можно сделать?Импортировать переменную среды linux из файла оболочки

+1

Возможный дубликат http://stackoverflow.com/questions/1590937/how-do-i-import-environment-settings-into-my-perl-program –

+0

возможно дубликат http://stackoverflow.com/ вопросы/19349189/importing-environment-variables-to-perl – abhi312

ответ

0

Вы можете использовать модуль Env.

$ENV{Variablename}

0

Предполагая, что вы хотите, чтобы получить их из текущей оболочки, а не произвольный файл, вы на самом деле имеют доступ ко всем переменным окружения, такие как с:

pax> perl -e 'print $ENV{"HOME"}."\n"' 
/home/pax 

или, если вы хотите перечислить их все (в порядке сортировки, например):

foreach $key (sort keys %ENV) { 
    print "[$key] -> [$ENV{$key}]\n"; 
} 
+0

'perl -e 'print $ ENV {" HOME "}. «\ n" ''чаще встречается в командной строке. –

1

Посмотрите на soluti здесь: http://darkdiary.ru/users/TLoD_Snake/3233201/comment/

Perl выполняет ваш командный файл оболочки и выполняет его повторное выполнение, если выясняет, что команда оболочки ранее не выполнялась.

Я нашел это решение от TLoD_Snake здесь, в StackOverflow, но я не могу найти точный вопрос, поэтому я просто укажу вам его блог.

0

Теперь это можно сделать с помощью модуля Env::Modify.

use Env::Modify 'source'; 
source("$ENV{HOME}/.my_user_shell_file"); 
Смежные вопросы