Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Redhat/Fedora - Вопрос по командам set, env, declare, export

Ответить
Настройки темы
Redhat/Fedora - Вопрос по командам set, env, declare, export

Новый участник


Сообщения: 7
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


Не могу понять, чем объясняется разница в выводе команд set, env, export и declare (typeset). Вроде все они должны выводить перечень переменных среды (и функций), но вывод этих команд существенно отличается.
Может кто-нибудь толково объяснить, в чем их разница. В man-ах копался, но не понял.
В.Костромин

Отправлено: 14:04, 14-10-2007

 

Новый участник


Сообщения: 7
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


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

declare 3803 байта 77 строк
set 3776 байта 77 строк
export 3558 байта 67 строк
env 2861 байта 45 строк

Сравнивал вывод построчно, понять в чем причина отличий не могу.
Можете повторить эксперимент

Отправлено: 15:41, 14-10-2007 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для ruslandh

info man howto


Сообщения: 6958
Благодарности: 384

Профиль | Сайт | Отправить PM | Цитировать


Может надо искать разницу исходя из основного предназначеия команды, а не действия по-умолчанию.
Соответственно их вывод ориентирован ддя перенаправления в ту или иную функцию.
set, export, declare - внутреннии функции shel
env - внешняя.

Например :
set [--abefhkmnptuvxBCHP] [-o опция] [аргумент ...]
При вызове без опций выдает имя и значение всех переменных командного интерпретатора в виде, пригодном для повторного выполнения присваиваний.



set - для установки значения
env - внешняя команда для запуска программы с заданными параметрами.
export - экспортирование значение переменной в среду bash
declare - задание переменной и массивов переменных

http://www.linux.org.ru/books/bash-conspect.html

http://ln.com.ua/~openxs/projects/man/uman047.html

и там-же :

http://ln.com.ua/~openxs/projects/man/uman076.html
http://ln.com.ua/~openxs/projects/man/uman077.html
http://ln.com.ua/~openxs/projects/man/uman078.html

-------
Поспешай не торопясь


Отправлено: 16:01, 14-10-2007 | #3



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Redhat/Fedora - Вопрос по командам set, env, declare, export

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Export Registry Value semiono Скриптовые языки администрирования Windows 11 09-01-2016 16:14
CMD/BAT - Подскажите по командам Telnet biz Скриптовые языки администрирования Windows 1 28-12-2009 11:12
Algoware Active Directory Bulk Export 1.0 OSZone Software Новости программного обеспечения 0 03-12-2009 12:30
Справочник по командам Windows 1.0 OSZone Software Новости программного обеспечения 0 24-10-2009 22:30
env ??? Spijon Общий по Linux 6 21-03-2003 09:10




 
Переход