安全地从$ PATH,Ubuntu 16.04中删除重复项

时间:2018-07-03 21:46:00

标签: linux shell ubuntu path

我是一个新手,不到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

经过研究,我发现this。它说这个命令

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

将安全删除重复项。这是真的?有没有更好的方法?不想破坏任何东西。

我正在运行Ubuntu 16.04

2 个答案:

答案 0 :(得分:1)

OP要求提供脚本,但喜欢我的评论。为此,我将其发布为答案。

您可以

if (!firebase.apps.length) {
  firebase.initializeApp(config);
}

并查看双打。

请勿尝试

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

因为顺序很重要。手动检查和编辑。

答案 1 :(得分:0)

为什么不只是将路径字符串保存在文件中,然后尝试是否起作用?

如果没有,您可以手动将其重新设置,一切都会好起来的。