2015-06-15 2 views
0

Я работаю над переводом некоторой kornshell на perl и задавался вопросом, есть ли эквивалент в perl для экспортаPerl эквивалент команды экспорта Kornshell?

+2

'$ ENV [VARNAME} =" value ";'. –

+1

@JonathanLeffler: '$ ENV {' – choroba

+0

@choroba: Aargh - да, предполагается, что он симметрично использует фигурные скобки '{}', как в '$ ENV {VARNAME} =" value ";'. –

ответ

2

Это очень прямолинейно. Хэш-файл %ENV содержит значения переменных среды, определяемых именем переменной среды. Вы можете установить или обновить значение переменной среды, путем присвоения %ENV:

$ENV{VARNAME} = "value"; 

или:

my $varname = "VARNAME"; 
my $value = "value"; 
$ENV{$varname} = $value; 

Вы можете удалить переменные окружения в Perl с:

delete $ENV{VARNAME}; 

И в ksh это будет c или "export varname=value"?

Этих примеры являются эквивалентны (Korn, Bash, Bourne) нотация оболочки:

export VARNAME="value" 

или, если вы выходите за пределы немного, то второе эквивалентно:

varname="VARNAME" 
value="value" 
export $varname="$value" 
+0

и в ksh это соответствовало бы «export varname = value»? – qwerty12345

+0

@ qwerty12345: см. Обновление, но (дайте или сделайте интервал вокруг знака '='), ответ «да». –

Смежные вопросы