Конфигурация PATH не имеет эффекта

$ lsattr /media/alex/.../.rsync.log 
-----a-------e-- /media/alex/.../.rsync.log

a есть флаг только добавления, который немного похож на неизменяемый флаг, поскольку он также предотвращает удаление файла. Также для root:

# touch file.txt ; chattr +a file.txt ; lsattr file.txt ; rm file.txt
-----a-------e-- file.txt
rm: cannot remove `file.txt': Operation not permitted

Файл с установленным атрибутом 'a' может быть открыт только в режиме добавления для письмо. Только суперпользователь или процесс, обладающий Возможность CAP_LINUX_IMMUTABLE может устанавливать или сбрасывать этот атрибут.

chattr -a /media/alex/.../.rsync.log, так как root должен избавиться от него.

1
26.03.2016, 22:49
2 ответа

Вы не можете изменить PATH (или любую другую переменную среды) для процесса оболочки, запустив сценарий.

Если сценарий изменяет (и экспортирует ) PATH, то изменения будут влиять только на среду внутри сценария (и на любой подпроцесс ), но не на родительский процесс.

Если вы хотите изменить ПУТЬ в текущем сеансе оболочки, вам необходимо изменить его непосредственно в этом сеансе, например, с помощью источника скрипта, а не запущенного ит.

$ cat mypath.sh
export PATH=/opt/foo/bin:$PATH
$ echo $PATH
/usr/bin
$ ./mypath.sh
$ echo $PATH
/usr/bin
$ . ./mypath.sh
$ echo $PATH
/opt/foo/bin:/usr/bin
0
27.01.2020, 23:48

Значение PATH изначально устанавливается в файле / etc / profile .

Устанавливается как для «пользователя по умолчанию», так и для «root» (не редактировать).
Вы можете прочитать его, выполнив эту команду в терминале:

cat /etc/profile

Однако вы хотите изменить ПУТЬ по умолчанию только для своего пользователя (чтобы другие пользователи могли иметь другой ПУТЬ, и особенно пользователь корень ).

В Mint (и это может отличаться для разных версий Mint) с рабочим столом Gnome (создайте или отредактируйте ~ / .pam_environment следующим образом). Предположим, у вас есть текстовый редактор под названием gedit :

$ gedit ~/.pam_environment

И добавьте (или измените) эту строку:

PATH DEFAULT=${PATH}:/opt/bin

запишите файл, выйдите из системы, снова войдите в систему, и новое значение PATH должно быть в эффект.

Этот ответ помог мне написать свой ответ.

1
27.01.2020, 23:48

Теги

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