Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как в sh-скрипте определить alias'ы 
:(
    Опции темы
gregbautin
Дата 16.8.2005, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 16.8.2005
Где: Нижний Новгород

Репутация: нет
Всего: нет



не знаю, в какую тему написать свой вопрос. попробую сюда. вопрос состоит в следуюшем. каким образом можно в shell-овском скрипте определить alias (ну, или переменную окружения) так, чтобы он сохранился после окончания работы скрипта? не знаю, различается ли это как-нибудь в разных ОС, меня интересует под Solaris.
PM MAIL   Вверх
bilbobagginz
Дата 17.8.2005, 03:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



это не связано с ОСью а с оболочкой (shell).
у каждой свои приколы.
но:
alias не переходит к детям

ENV_VAR нужно экспортировать.
в основном есть 2 типа оболочек:
  • c-shell подобные, и в них экспортируется переменная так:
    setenv JAVA_HOME /usr/local/j2sdk1.4.2

  • sh подобные (типа bash и т.д.):
    export JAVA_HOME=/usr/local/j2sdk1.4.2



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
gregbautin
  Дата 17.8.2005, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 16.8.2005
Где: Нижний Новгород

Репутация: нет
Всего: нет



ну, да, это от шелла зависит. к детям alias не переходит, а к родителям? то есть, если я в скрипте напишу, например:

> #!/bin/tcsh
> source .asliases

а в ".aliases" будет:

> alias script.pl /usr/bin/script.pl

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

Спасибо за ответ smile
PM MAIL   Вверх
bilbobagginz
Дата 17.8.2005, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



всё мучительно просто.
оперделение алиаса распространяется на себя. ( а не родителя )
процесс оболочки начинается после входа в систему и считывает спец. системные файлы (в зависимости от настроек и самой программы оболочки.)
файлы считываются в определённом порядке.
в какой-то момент сорсится и файл с определением алиаса.
процесс оболочки жив всё время интерактивной сессии, потому и помнится определеие алиаса.
а если ты пишешь скрипт, то удобнее пользоваться функциями.
точно так же их можно поместить в отдельный файл и пором сорсить:
. ~/my_functions
(заметь, что "." равна слову "source" )
напр. в редхатах все начальные скрипты пользуются функциями из файла /etc/init.d/functions

пока

удачи.


Это сообщение отредактировал(а) bilbobagginz - 17.8.2005, 16:15


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Клуб юнуксоидов"
powerfox
ZeeLax
nickless

Что такое клуб юнуксоидов?

Это место более свободного общения специалистов и любителей *NIX систем.


Новичкам: Этот раздел предназначен в основном именно для общения а не решения проблем.


Правила всего раздела Linux/UNIX сюда не распространяются, но здесь имеются свои правила:


  • Оскорбления запрещены.
  • Holy wars разрешены, но в небольших размерах. Если вы создаёте что-то уровня Windows vs. Linux, то постите это в Религиозных войнах, пожалуйста.
  • Если вы хотите выставить здесь какое-либо своё творение - милости просим.
  • За интересные новости, интересные статьи, высказывания и юмор (в тему) + в репу.

Короче, по репе получите по полной программе ;-) Happy hacking!



Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Клуб юнуксоидов | Следующая тема »


 




[ Время генерации скрипта: 0.0914 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.