Intereting Posts
cURL скачать с несколькими диапазонами установка переменной среды как функции другой переменной env Используя терминал, какие другие способы вы можете удалить файл? Команда истории внутри сценария bash udev weirdness: / dev / hda1 смонтирован, но файл отсутствует В верхнем регистре только первая буква каждой строки Поиск файлов MP3 / Ogg по тегам / параметрам из командной строки Сценарий Bash Не меняющийся каталог Назначение команды массиву в сценарии оболочки не работает? Получение TP-Link TL-WN722N для работы с Kali Поиск слова из определенного файла словаря в sdcv (консольная версия словаря Stardict) Как сохранить строку «*» в переменной в unix / bash? Невозможно запустить код Visual Studio с графическим интерфейсом при использовании контейнера Singularity: получить ошибки gtk, dbus и dconf Предел ЦП на отдельных играемых файлах jar Есть ли способ подсчитать количество совпадений в Vim, используя: g?

Как написать сценарий оболочки из автоматического источника в / etc / profile

Я слышал через виноgradleную лозу, что файлы в / etc / profile будут автоматически получены bash при входе в систему?

Я попытался написать что-то простое в / etc / profile:

echo "echo 'foo'" > /etc/profile/foo.sh 

но я получил эту странную ошибку:

 bash: /etc/profile/foo.sh: Not a directory 

Есть ли правильный способ сделать это?

    /etc/profile – это файл. Отсюда и ошибка при попытке создать /etc/profile/foo.sh .

    /etc/profile.d – это каталог, о котором вы думаете. Сценарии, размещенные там, получают при входе в систему. В вашем примере вы хотите создать /etc/profile.d/foo.sh .

    Логика сценария и то, как он работает, можно увидеть ниже. Аналогичный код находится в /etc/profile , /etc/bashrc , /etc/csh.cshrc и /etc/csh.login .

     $ grep -A 8 ^for.*profile.d /etc/profile for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null fi fi done $ 

    Пример создания и вызова такого скрипта:

     # echo id >/etc/profile.d/foo.sh # su - steve Last login: Sat Jun 23 21:44:41 UTC 2018 on pts/0 uid=1000(steve) gid=1001(steve) groups=1001(steve),4(adm),39(video),1000(google-sudoers) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 $ 

    Больше информации на Что делают скрипты в /etc/profile.d?