作用:1.不改变路径的顺序 2.只保留第一次出现的路径
export PATH=$(echo "$PATH" | awk -v RS=: '!a[$0]++' | tr '\n' :)
echo "$PATH"
:输出当前的 PATH。awk -v RS=: '!a[$0]++'
:删除重复的路径,只保留每个路径的首次出现。awk -v RS=:
:RS 是 awk 的记录分隔符,这里设置为:
(path中的分隔符是冒号),表示我们将 PATH 中的每个路径作为一条记录处理。!a[$0]++
:awk 使用数组 a[$0] 来记录每个路径 $0 是否已经出现过。第一次出现时,!a[$0]
为真,所以会打印该路径并将其加入数组。之后如果再次出现相同的路径,!a[$0]
为假,因此不会输出重复项。tr '\n' :
:将换行符重新替换为冒号,合并路径。export
: 添加环境变量