Форум - Мрежова Сигурност (сайта на курса)

 Нова тема  |  Начало  |  Към тема  |  Търсене  |  Вход   По-нова тема  |  По-стара тема 
 Проблем с HOME
Автор: newbi3 (---.megalan.bg)
Дата:   09-05-05 15:59

Имам следния проблем, eдна програма иска стойността на НОМЕ променливата от обкръжението на Linux, ако аз като root задам export HOME `perl -e 'print"AA"x147'` след това в променливата HOME имам "АА" 147 пъти(147 е примерно, няма значение), нали? И ако тогава изпълним програмата тя взема(стойността на НОМЕ), може би трябва да се създаде някаква грешка, нали? Но при мен нищо не става. Какъв може да е проблемът??



Отговори на това съобщение
 
 Re: Проблем с HOME
Автор: Петър Пенчев (---.cnsys.bg)
Дата:   11-05-05 17:51

Ако използваш Bourne шел - /bin/sh, bash, zsh, нещо такова - тогава това трябва да бъде:

export HOME=`perl -e '....'`

Важното е знакът '=' между името на променливата и стойността й :)

По принцип традиционният начин да се направи това е малко по-различен:
VAR1=...
VAR2=...
VAR3=...
export VAR1 VAR2 VAR3

Така че export приема всъщност списък от имена на променливи. Когато пропуснеш символа '=', export приема, че искаш просто да експортираш (да дадеш на другите програми, изпълнявани от шела, да виждат) стойностите на две променливи: едната се казва HOME, а другата - ААААААА...

От доста време насам обаче доста Bourne-style shells (а в един момент и POSIX стандартът за sh(1)) приемат и краткия синтаксис:
export VAR1=value1 VAR2=value2 VAR3=value3

Това е това, което ти се опитваш да направиш - с една команда да присвоиш стойност на променливата и да я маркираш за експортиране към изпълнени от шела програми (не като вътрешна променлива само за тази инстанция на шела). Просто сложи символа '=' :)

Поздрави,
Петър



Отговори на това съобщение
 
 Re: Проблем с HOME
Автор: newbi3 (---.fmi.uni-sofia.bg)
Дата:   11-05-05 19:13

Да, забележката е правилна, но дори и след като сложа знака за равенство(тогава променливата НОМЕ е със стойност "ААА...", проверявам го с командата env, че е така), програмата използваща тази променлива, си върви напълно нормално, без никакви грешки. Къде греша?(програмата, която мъча е typespeed 0.4.1, използвам RedHat Linux и /bin/sh.)

Отговори на това съобщение
 Дървовиден изглед   По-нова тема  |  По-стара тема 


 Искате да влезете в системата? Регистрирайте се тук 
 Вход за потребители
 Потребителско име:
 Парола:
 Автоматично влизане:
   
 Забравена парола
Моля въведете Вашият email или потребителско име и Вашата нова парола ще бъде изпратена на email адреса, асоцииран с Вашия профил.

phorum.org