Среда установки Correctly

Можно использовать обратные галочки (') для оценки команды и замены в выводе команды, как:

echo "Number of files in this directory: `ls | wc -l`"

В Вашем случае:

wget `echo http://maps.google.be/maps?saddr\=$1\&daddr\=$2 | sed 's/ /%/g'`
15
16.05.2011, 09:19
2 ответа

Простой путь состоит в том, чтобы изобрести машину времени, посетить различных людей, которые создали файлы запуска оболочки, и скажите им чисто различать три вещи:

  • установка сессии, например, переменные среды;
  • запуск сессии, т.е. например, запуск оболочки командной строки или менеджера окон или выполнения startx;
  • инициализация оболочки, например, псевдонимы, подсказка, привязки клавиш.

Не слишком трудно получить сессию по сравнению с оболочкой прямо портативным способом: разовая входом в систему инициализация входит .profile (или .zprofile, или .login), инициализация оболочки входит .bashrc или .zshrc. Я ранее записал о .bash_profile, zsh по сравнению с другими оболочками, больше о мобильности (главным образом об ударе), больше о том, кто читает .profile.

Остающаяся проблема различает установку сессии и запуск сессии. В большинстве случаев, ~/.profile выполняется, когда Вы входите в систему и можете удвоиться как оба, но существуют исключения:

  • Если Ваша оболочка входа в систему (t) csh или zsh, ~/.login и ~/.zprofile получен вместо ~/.profile. Так же для удара и ~/.bash_profile, но это легко решено путем определения источника ~/.profile от ~/.bash_profile.
  • Если Вы входите в систему под менеджером по оформлению (xdm, gdm, kdm, …), ли Ваш ~/.profile читается зависит от версии программы, на Вашем распределении (Linux или иначе), и на том, какой тип сессии Вы выбираете.
    • Если Вы рассчитываете на менеджера по оформлению для запуска сессии для Вас, Вашего .profile должен установить переменные среды, но не запустить сессию (например, менеджер окон).
    • Традиционный конфигурационный файл для X сессий ~/.xsession, выполнение и установка сессии и запуск сессии. Таким образом, файл может быть по существу . ~/.xsession; . ~/.xinitrc. Некоторый источник дистрибутивов ~/.profile прежде ~/.xsession. Современные дистрибутивы только источник ~/.xsession когда Вы выбираете “пользовательскую” сессию от менеджера по оформлению, и такая сессия не всегда доступна.
    • Ваш менеджер сеансов может поступать по-своему установки переменных среды. (Это - дополнительная часть Вашей настольной среды, выбранной Вами через конфигурационный файл или путем выбора типа сессии при входе в систему; не путайте его со сценариями запуска сессии, предоставленными менеджером по оформлению, которые выполнены при Вашем пользователе, но выбраны на основе в масштабе всей системы. Да, это - путаница.)

Таким образом, ~/.profile правильное место для переменных среды. Если это не читается, попытайтесь получить его от ~/.xsession (и запустите свои X программ оттуда), или ищите определенный для системы метод (который может зависеть от Вашего распределения, менеджера по оформлению если таковые имеются, тип сессии если менеджер по оформлению, и настольная среда или менеджер сеансов).

21
27.01.2020, 19:49
  • 1
    .xsession был файл, который я искал. –  Maciej Piechotka 08.12.2010, 13:45
  • 2
    я соглашаюсь сильно со всем кроме Вашей сводки. Я не думаю, что Вы установили эту точку. Если Ваш .profile источники .bashrc или подобный, затем можно надежно установить переменные среды в .bashrc для не только входят в сессии, но и для новых оболочек, которым нужны различные настройки, например, если Вы запускаете xterm от gnome-terminal и хочу отличающийся dircolors. –  Mikel 02.06.2012, 06:06
  • 3
    @Mikel, Если Вы устанавливаете переменные среды в .bashrc, они переопределят Ваши предыдущие настройки. Например, если Вы запустили экземпляр Screen или Tmux с конкретных переменных среды, что-нибудь, что Вы начинаетесь .bashrc переопределит эти настройки. LS_COLORS особый случай, потому что это - действительно установка на терминал; идеально это должно быть установлено эмулятором терминала, и установка его в файле дистанционного управления оболочки является обходным решением максимальных усилий. –  Gilles 'SO- stop being evil' 02.06.2012, 16:41

В хинду документации существует хинду статьи Руководство по Локализации Linux. Глава 3 об установке локали.

Как правило, пользователи только устанавливают переменную ЛЕНГА на глобальной основе. Этот пример для unicode немецкой локали:

Листинг кода 3.1: Установка системной локали по умолчанию в /etc/env.d/02locale

LANG="en_GB.UTF-8"

В моем хинду LANG установлен в этом файле, и все работает правильно...

pbm@tauri ~ $ cat /etc/env.d/02locale 
LANG="pl_PL.UTF-8"

pbm@tauri ~ $ locale
LANG=pl_PL.UTF-8
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT="pl_PL.UTF-8"
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=
1
27.01.2020, 19:49
  • 1
    Остерегайтесь этого часть, которую Вы заключили в кавычки, в порядке, но руководство также рекомендует установить переменную среды в .bashrc, который является неправильным (см. мой ответ и в особенности superuser.com/questions/217431). –  Gilles 'SO- stop being evil' 07.12.2010, 22:50
  • 2
    Спасибо за так подробную информацию... :) Я никогда не использовал это .bashrc часть - настройки в env.d более универсальны. –  pbm 07.12.2010, 23:00
  • 3
    Также это на систему вместо в расчете на пользователя. Я предпочитаю разделять параметры настройки системы от пользовательских настроек. –  Maciej Piechotka 08.12.2010, 00:47

Теги

Похожие вопросы