Intereting Posts
Где заканчиваются файлы Logrotate? Как создать новую раскладку клавиатуры для KDE 4? Разрешено ли оболочке оптимизировать бесполезные команды завершения? Изменить команду для удаления номера с конца имени файла. Я установил дистрибутив Linux. Нужно ли мне устанавливать учетную запись root или учетную запись пользователя? использование. в bash Установка SMB 2.0 по умолчанию для операций монтирования Скрипт для изменения CSV в формат Key Value (KV) Контрольное имя файла, хранящееся в tar-архиве добавление букв и символов в столбец с помощью awk или sed? ldd: не удается найти библиотеку для xl c скомпилированной двоичной, но может для gcc скомпилированных двоичных файлов в AIX Имеет ли смысл вкладывать btrfs в lvm? Как я могу вырезать персонажа из «Thu Jun 2 08:11:53 PDT 2016», чтобы отображать только 08 11 Каков наилучший способ удаления файлов pid перед запуском службы Как найти причину, по которой просыпается ноутбук?

Как написать сценарий оболочки из автоматического источника в / 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?