После редактирования как /.bashrc, так и /etc/bash.bashrc путь не находится в среде. Почему? [дубликат]

Протестировано с OpenBSD awk , GNU awk и mawk :

awk -F ',| +' '{ for (i = 2; i <= NF; ++i) { print $1, $i } }' data.in |
sort -u |
awk '{ f[$1] = (f[$1] ? f[$1] "," : "") $2 } END { for (k in f) { print k, f[k] } }'

Первый awk расширяет заданные данные в

Special c1
Special c2
Special c5
Special c7
Special c1
Special c2
Special2 C6

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

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

Special2 C6
Special c1
Special c2
Special c5
Special c7

. Она выполняет сортировку, используя полную строку в качестве ключа сортировки, и отбрасывает любые повторяющиеся строки.

Последний awk рекомбинирует данные в

Special c1,c2,c5,c7
Special2 C6

. Он делает это, используя первое поле в качестве ключа в ассоциативный массив, и сохраняет разделенные запятыми конкатенацию соответствующих данных во втором поле как Значение. В конце все собранные данные распечатываются.

1
13.08.2017, 13:24
1 ответ

Возможно, просто для ясности

/.bashrcбудет файлом в вашем корневом каталоге /. Этот файл никогда не мог быть прочитан любым пользователем.

С другой стороны, ~/.bashrcозначает файл .bashrcот текущего пользователя.

Другой вариант — отредактировать файл .bashrcв вашем каталоге /etc/skel. Это изменение является глобальным, и каждый пользователь в системе будет использовать его по умолчанию при создании.

.bash_profile, как говорится в официальной документации:

This is the preferred configuration file for configuring user 
environments individually. In this file, users can add extra 
configuration options or change default settings:

Этот файл добавляет некоторые дополнительные переменные для каждого пользователя.

ПС. Если мы говорим о безопасности, не рекомендуется иметь пути exec в вашем домашнем каталоге, наиболее безопасным вариантом будет размещение вашего eclipse в каком-то месте, например /opt, и как root создайте символическую ссылку на двоичный файл например:

cd /usr/bin 
ln -s /opt/path/to/eclipse

Это создаст ссылку для всех пользователей, и вам не нужно будет добавлять эту конкретную (и, вероятно, опасную переменную ENV для каждого пользователя)

0
28.01.2020, 00:50

Теги

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