В целях исследования я сказал бы, что OpenBSD, чтобы обнаружить, насколько стабильный, безопасный и простой это может быть. Основами Linux будет Slackware.
Но это в противоречии с Вашими целями программирования. Так зная о HP Unix, AIX, Солярисе, Linux Debian, RH и SuSE я рекомендовал бы использовать Linux CentOS 5.7 (или более новый - держат его в курсе через вкусный крон) Вам.
CentOS 5 двоичный совместимый с RHEL 5 и существует много инструментов вокруг для el5-ответвления (используйте rpmforge в качестве другого хранилища - посмотрите страницу CentOS об этом).
export
экспорт в детей текущего процесса, по умолчанию они не экспортируются. Например:
$ foo=bar
$ echo "$foo"
bar
$ bash -c 'echo "$foo"'
$ export foo
$ bash -c 'echo "$foo"'
bar
set
, с другой стороны, наборы окружают атрибуты, например, позиционные параметры.
$ set foo=baz
$ echo "$1"
foo=baz
Отметьте это baz
не присваивают foo
, это просто становится литеральным позиционным параметром. Существует много других вещей set
может сделать (главным образом опции оболочки), видеть help set
.
Что касается печати, export
названный без аргументов печатает все переменные в среде оболочки. set
также переменные печати, которые не экспортируются. Это может также экспортировать некоторые другие объекты (хотя необходимо отметить, что это не портативно), посмотрите help export
.
Посмотрите help set
: набор используется для установки атрибутов оболочки и позиционных атрибутов.
Переменные, которые не экспортируются, не наследованы дочерними процессами. export
используется для маркировки переменной для экспорта.
foo=bar command
. Это - неявный экспорт для единственной команды. Вторая возможность - этоhttp_proxy
уже экспортирован в Вашей среде перед изменением ее. А-ч – Chris Down 04.04.2013, 12:58