не работает export linux
Дистрибутив: Linux version 4.7.1-1-ARCH
export: invalid option(s)
По мануалу опция «-f» есть:
-f — specify that arguments refer to functions
Вопрос: почему не могу экспортировать функцию?
где это? я не нашёл
-без опции «-f» не кспортирует функцию, только переменные
bash: testf: команда не найдена
-A — specify that arguments refer to associative arrays
-E — floating point, use engineering notation on output
-F — floating point, use fixed point decimal on output
-H — hide value of parameter in listings
-L — left justify and remove leading blanks from value
-R — right justify and fill with leading blanks
-T — tie scalar to array or trace function
-U — keep array values unique and suppress alias expansion for functions
-Z — right justify and fill with leading zeros
-a — specify that arguments refer to arrays
-f — specify that arguments refer to functions
-h — hide specialness of parameter
-i — represent internally as an integer
-l — convert the value to lowercase
-m — treat arguments as patterns
-p — output parameters in form of calls to typeset
-r — mark parameters as readonly
-t — tag parameters and turn on execution tracing for functions
-u — convert the value to uppercase or mark function for autoloading
unixforum.org
Форум для пользователей UNIX-подобных систем
решено: команда export
Модератор: arachnid
решено: команда export
Сообщение diablo » 13.08.2008 16:13
Re: решено: команда export
Сообщение nesk » 13.08.2008 16:15
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
Re: решено: команда export
Сообщение diablo » 13.08.2008 16:21
Re: решено: команда export
Сообщение nesk » 13.08.2008 16:26
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
Re: решено: команда export
Сообщение diablo » 13.08.2008 16:31
да, это я в мане прочел и не могу понять что происходит. сделал следующее.
cdo# /bin/sh
# export
.
.
показывает список переменных
.
а почему не работает сразу, когда я захожу под рутом.
unixforum.org
Форум для пользователей UNIX-подобных систем
Не работает export PATH
Модератор: Bizdelnick
Не работает export PATH
Сообщение mypocta » 26.03.2007 20:09
У меня asplinux 11.2.
Привет всем. Помогите plz решить проблему.
Проблема:
Приложения под java пишут java: command not found
(не видят java)
Как решал:
установил jdk1.5.0_11.
Методом тыка понял что установилось в /usr/java/jdk1.5.0_11.
Далее в Path прописываю путь к java:
Изменяю PATH:
PATH=usr/java/jdk1.5.0_11/bin:/$PATH
Далее если запускать приложения из-под коммандной строки, например, то всё работает
Думаю, всё ОК, чтоб не вводить каждый раз, делаю
export PATH.
Т.е export Path не сработал.
Вопрос: где хранится PATH (в каком файле)?
Из-за чего может быть такая трабла?
Re: Не работает export PATH
Сообщение Sceptik » 26.03.2007 20:18
Re: Не работает export PATH
Сообщение elide » 26.03.2007 20:22
Re: Не работает export PATH
Re: Не работает export PATH
Сообщение mypocta » 27.03.2007 02:41
/.bashrc
bash: /root/.profile: Нет такого файла или каталога
bash: /root/.bashrc: Отказано в доступе
Может у меня не сохраняется, т.к. «Отказано в доступе»?
Попробовал. Нажал enter, а текст листается и листается. Положил бутылку кока-колы на клавишу enter, попил чай, пришёл, текст всё листается. Правда, через 10 сек. подошёл к концу. Итого, это минут на 7 непрерывного листания и страниц на 150 убористого английского текста.
Яж помощи прошу, и не вразделе профи. Знаю, что это есть и в google, и в yandex и в man-ах и ещё много где. Понятно, что если их перечитаю, найду этот вопрос. Но это будет долго. Для того форумы и нужны: я, например хорошо понимаю в базах данных. И помогаю быстро решить вопросы на SQL.ru. Кто-то шарит в Linux, поэтому прошу их помощи здесь.
Извините, наболело просто. Не подумайте, что кого-то к чему-то принуждаю, просто моё мнение.
Изучаем команды Linux: export
1. Введение
2. Часто используемые опции
-p
выводит список всех имен, экспортированных в текущей оболочке
-n
удаляет имена из списка экспорта
-f
имена экспортируются как функции
3. Основы export
Подумайте над следующим примером:
Строка 1: создается новая переменная с именем «a», содержащая строку «linuxcareer.com».
Строка 2: мы используем команду echo, чтобы вывести содержимое переменной «a».
Строка 3: мы создаем дочерний экземпляр оболочки bash.
Строка 4: переменная «a» теперь не определена.
Из приведенного выше примера можно видеть, что любой дочерний процесс, ответвляющийся от родительского процесса, по умолчанию не наследует переменные родителя. Для этого и нужна команда export. Что произойдет, если мы используем команду export в вышеприведенном примере?
Теперь в строке 3 мы использовали команду export, чтобы экспортировать переменную «a» в созданный новый дочерний процесс. В результате переменная «a» все еще содержит строку «linuxcareer.com», даже после создания нового экземпляра оболочки bash. Здесь важно отметить, что для успешного экспорта «a» необходимо, чтобы процесс, в который экспортируется переменная, ответвлялся от того родительского процесса, из которого экспортируется эта переменная. Связь между дочерним и родительским процессами описана ниже.
4. Дочерние и родительские процессы
В этом разделе мы коротко опишем взимосвязь между дочерним и родительским процессом. Все процессы могут быть родительскими и дочерними одновременно. Единственным исключением является процесс init, который всегда имеет PID (ID процесса) 1. Поэтому init является родительским для всех процессов, запущенных в системе Linux.
Любой создаваемый процесс имеет родительский процесс, из которого он создается, и может быть определен как потомок этого родительского процесса. Например:
При создании нового дочернего процесса команда export просто обеспечивает, что все экспортируемые переменные родительского процесса доступны в дочернем процессе.
5. Использование команды export
Как было показано выше, для экспорта переменной мы просто используем имя переменной в качестве аргумента команды export.
Как вы можете видеть, после экспорта переменной MYVAR, она будет показываться в списке экспортируемых переменных (строка 4). Приведенный выше пример можно сократить, используя команду export сразу при присваивании значения переменной.
Наиболее широко команда export применяется для объявления переменной оболочки PATH:
В этом примере мы включаем дополнительный путь /usr/local/bin в существующее определение PATH.
6. Экспорт функций командной оболочки
7. Удаление имен из списка экспорта
Выполнив один из вышеприведенных примеров, мы имеет переменную MYVAR, определенную в списке экспорта.
8. Заключение
В этой статье рассмотрены основы использования команды export. Чтобы узнать больше подробностей, используйте команду:
Объяснение команды export в Linux
Главное меню » Linux » Объяснение команды export в Linux
или сокращение как здесь, чтобы присвоить значение сразу:
Вы можете увидеть значение экспортируемых переменных с помощью команды echo :
Чтобы сделать изменения постоянными, вы должны добавить их в файл
Это было просто краткое изложение. Давайте посмотрим ее в деталях, чтобы лучше понять.
Понимание того, как работает команда export
В приведенном ниже примере мы объявляем переменную оболочки var и присваиваю ей значение 3. Пока это переменная оболочки.
Если мы выйдем из терминала и откроем новый терминал, эта переменная оболочки исчезнет. Если мы хотим использовать эту переменную в сценарии оболочки, она не будет работать. Точно так же, если мы переключаем пользователя (и, таким образом, запускаю новую оболочку с этим пользователем), эта переменная оболочки не будет доступна:
Теперь вернемся к предыдущему пользователю (и, таким образом, к предыдущей оболочке, где мы объявили переменную оболочки). Вы можете видеть, что переменная все еще существует здесь (потому что мы еще не завершили эту сессию оболочки):
Итак, теперь, если мы используем здесь команду экспорта для переменной var, она станет переменной окружения и будет доступна для всех вложенных оболочек, пользователей и сценариев оболочки в этом сеансе.
Вы можете проверить все переменные окружения, используя команду printenv:
Сделать экспортированные переменные оболочки «постоянными» с помощью файла bashrc
Но борьба не заканчивается здесь. Если вы закроете сеанс, выйдете из терминала, выйдете из системы или перезагрузите систему, ваша переменная среды снова исчезнет.
Вот почему принято добавлять команду export в файл конфигурации среды выполнения (rc) вашей оболочки.
Каждая оболочка имеет этот rc-файл, расположенный в домашнем каталоге пользователя, который используется для определения переменных и другой конфигурации при запуске оболочки. Как пользователь, вы можете использовать этот файл rc для настройки вашей оболочки и ее поведения.
Если вы используете оболочку bash, у вас должен быть файл bashrc в
/.bashrc. Вы можете отредактировать этот файл в текстовом редакторе, таком как Vim, или просто добавить к нему файл export var = 3 (или что-либо, что вы экспортируете).
Сделав это, вы должны использовать исходную команду, чтобы сделать изменения доступными немедленно.
Хорошей практикой является хранение всех пользовательских переменных среды в одном месте.
Зачем использовать команду экспорта?
Одно из наиболее распространенных применений команды export – это когда вы хотите добавить что-то в путь, чтобы ваша система Linux нашла определенный командный/исполняемый файл.
Например, если вы установили maven и хотите иметь возможность его запустить, вы должны добавить в каталог расположение исполняемых файлов maven следующим образом:
Что оно делает? Он добавляет это местоположение каталога к пути. Когда вы пытаетесь запустить команду в Linux, ваша система ищет ее исполняемый файл (обычно в каталоге bin) в каталогах, упомянутых в переменной PATH.
Мы настоятельно рекомендуем прочитать о структуре каталогов Linux, чтобы иметь лучшее представление.
Бонус Совет: удалить переменную из списка экспорта
Предположим, вы хотите удалить «экспортированную» переменную. Вы можете использовать опцию “-” следующим образом:
Мы надеемся, что у вас теперь создалось представление о команде export в Linux. Если у вас есть сомнения, пожалуйста, не стесняйтесь спрашивать в разделе комментариев.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.