The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Freebsd 8.2 переменнные сокружение"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Система. проблемы, диагностика / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Freebsd 8.2 переменнные сокружение"  +/
Сообщение от alkasar (ok) on 24-Май-11, 09:41 
всем привет, вопрос возник насчет переменного окружения

freebsdtest# uname -a
FreeBSD freebsdtest.pampampam.local 8.2-RELEASE FreeBSD 8.2-RELEASE #0:

для запуска одного скрипта в определенном режиме нужна переменная  
TRATATA=1

хочу этот скрипт запускать из  /usr/local/etc/rc.d/skript.sh , от имени левого пользователя skriptuser  , и пользователю заместо стандартной оболочки прописать  /sbin/nologin

если задавать переменную

set TRATATA=1  

скрипт не видит
а если через

setenv TRATATA 1

то скрипт схватывает переменную и все ок, НО
после reboot этой переменной не сохраняется, мб я что нибудь не так делаю ?  

естественно все  под рутом.
и так же хотелось бы подробней разобраться откуда они берутся и как их можно изменить не только через setenv

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Freebsd 8.2 переменнные сокружение"  +/
Сообщение от PavelR (??) on 24-Май-11, 09:52 
> НО после reboot этой переменной не сохраняется, мб я что нибудь не так
> делаю ?

И не должно и не будет сохраняться.

> и так же хотелось бы подробней разобраться откуда они берутся и как
> их можно изменить не только через setenv

выставляются скриптами через setenv


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Freebsd 8.2 переменнные сокружение"  +/
Сообщение от alkasar (ok) on 24-Май-11, 10:01 
>> НО после reboot этой переменной не сохраняется, мб я что нибудь не так
>> делаю ?
> И не должно и не будет сохраняться.

а  почему так? =\

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Freebsd 8.2 переменнные сокружение"  +/
Сообщение от PavelR (??) on 24-Май-11, 10:12 
>>> НО после reboot этой переменной не сохраняется, мб я что нибудь не так
>>> делаю ?
>> И не должно и не будет сохраняться.
> а  почему так? =\

"если звезды загораются, значит это кому-нибудь нужно...?"

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

http://www.freebsd.org/doc/ru/books/handbook/shells.html
http://otvety.google.ru/otvety/thread?tid=175cce2a36087c08

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Freebsd 8.2 переменнные сокружение"  +/
Сообщение от Vitaly_loki (ok) on 24-Май-11, 12:53 
>>> НО после reboot этой переменной не сохраняется, мб я что нибудь не так
>>> делаю ?
>> И не должно и не будет сохраняться.
> а  почему так? =\

Ну а почему IPшник, вручную назначенный через ifconfig, после ребута пропадает? Тут то же самое

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Freebsd 8.2 переменнные сокружение"  +/
Сообщение от alkasar (ok) on 24-Май-11, 13:16 
> Ну а почему IPшник, вручную назначенный через ifconfig, после ребута пропадает? Тут
> то же самое

а ну да  логично, спасибо


тогда вопрос такой, как добавить глобальную переменную
через /.cshrc не подходит т.к. входа в систему особо часто не предусматривается, а ребут возможен
через /etc/profile  не работает
через тот же скрипт в /usr/local/etc/rc.d/skript.sh  не работает т.к. на сколько я понял команда setenv встроенная в csh , как запустить команду  из csh  не загружая его не допер,


есть еще варианты?? уже дело дошло до правки самого скрипта=\

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Freebsd 8.2 переменнные сокружение"  +/
Сообщение от Vitaly_loki (ok) on 24-Май-11, 15:06 
>если задавать переменную
>set TRATATA=1  
>скрипт не видит

Это потому что set устанавливает переменные для sh, а не для [t]csh. Заменить вначале #!/bin/csh на #!/bin/sh (но возможно придется и скрипт переписывать) и будет скрипт "видеть" переменную через set


> тогда вопрос такой, как добавить глобальную переменную
> через /.cshrc не подходит т.к. входа в систему особо часто не предусматривается,
> а ребут возможен
> через /etc/profile  не работает
> через тот же скрипт в /usr/local/etc/rc.d/skript.sh  не работает т.к. на сколько
> я понял команда setenv встроенная в csh , как запустить команду
>  из csh  не загружая его не допер,

Во-первых, есть файл /etc/csh.cshrc

А во-вторых, никогда не видели скрипты, у которых в начале определяются переменные, типа:
#!/bin/sh
ext_if="rl0"

теперь "ifconfig $ext_if" это то же самое, что и "ifconfig rl0"

Может лучше так?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Freebsd 8.2 переменнные сокружение"  +/
Сообщение от sTALK_specTrum on 24-Май-11, 15:36 
Сдаётся мне - неверно поставленная задача приводит к поискам решения класса "через ass автогеном".
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Freebsd 8.2 переменнные сокружение"  +/
Сообщение от alkasar (ok) on 24-Май-11, 16:00 
> Сдаётся мне - неверно поставленная задача приводит к поискам решения класса "через
> ass автогеном".

правильная задача звучит так, есть скрипт VNC Repeater на Perl, есть сервер на FreeBSD
надо заставить работать скрипт от пользователя Repeater в состоящего только в группе Repeater  и имеющего default shell = nologin, запускающегося и работающего  в фоновом режиме

Скрипту нужно прописать две глобальных переменных это ULTRAVNC_REPEATER_LOOP=BG  и ULTRAVNC_REPEATER_LOGFILE=/tmp/u.log

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Freebsd 8.2 переменнные сокружение"  +/
Сообщение от alkasar (ok) on 24-Май-11, 16:03 
>> Сдаётся мне - неверно поставленная задача приводит к поискам решения класса "через
>> ass автогеном".
> правильная задача звучит так, есть скрипт VNC Repeater на Perl, есть сервер
> на FreeBSD
> надо заставить работать скрипт от пользователя Repeater в состоящего только в группе
> Repeater  и имеющего default shell = nologin, запускающегося и работающего
>  в фоновом режиме
>  Скрипту нужно прописать две глобальных переменных это ULTRAVNC_REPEATER_LOOP=BG  и ULTRAVNC_REPEATER_LOGFILE=/tmp/u.log

проблему решил, можно сделать финт ушами
через env передать определенные переменные, определенной программе
вот так

env ULTRAVNC_REPEATER_LOOP=BG ULTRAVNC_REPEATER_LOGFILE=/tmp/u.log /usr/local/bin/ultravnc_repeater.pl

и такой скрипт добавил

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру