БЕЗОПАСНО удаляя дубликаты из $ PATH, Ubuntu 16.04 - PullRequest
0 голосов
/ 04 июля 2018

Я новый программист с опытом работы менее 7 месяцев. Я хочу очистить мой $PATH, потому что он заполнен множеством дубликатов.

Е.Г.

echo $PATH

Дает этот беспорядок

/home/john/.rvm/gems/ruby-2.4.1/bin:/home/john/.rvm/gems/ruby-2.4.1@global/bin:/home/john/.rvm/rubies/ruby-2.4.1/bin:/home/john/.rbenv/shims:/home/john/.rbenv/bin:/home/john/.rbenv/plugins/rubybuild/bin:/home/john/.rbenv/shims:/home/john/.rbenv/bin:/home/john/bin:/home/john/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/john/.rvm/bin

После некоторых исследований я нашел это . Там написано, что эта команда

PATH="$(perl -e 'print join(":", grep { not $seen{$_}++ } split(/:/, $ENV{PATH}))')"

безопасно удалит дубликаты. Это правда? Есть ли лучший подход? Не хочу ничего ломать.

Я использую Ubuntu 16.04

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

ОП попросил скрипт, но понравился мой комментарий. Поэтому я публикую это как ответ.

Вы можете

echo "$PATH" | tr ':' '\n' | sort 

и смотри двойники.

Не пытайтесь

# wrong command beneath
# PATH=$(echo "$PATH" | tr ':' '\n' | sort -u | tr '\n' ':')

потому что порядок важен. Проверьте и отредактируйте вручную.

0 голосов
/ 04 июля 2018

Почему бы вам просто не сохранить строку пути в файле и не попробовать, если она работает?

Если этого не произойдет, вы можете просто установить его обратно вручную, и все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...