在this问题
中@SiegeX提供了一种清除bash PATH变量的好方法 重复的条目:
PATH=$(awk 'BEGIN{ORS=":";RS="[:\n]"}!a[$0]++' <<<"${PATH%:}")
当我在命令行中键入它时,这很有效。 我尝试在bash函数中使用它,以便能够将其应用于其他变量:
function dupremove()
{
${1}=$(awk 'BEGIN{ORS=":";RS="[:\n]"}!a[$0]++' <<<"${1%:}")
}
但是当我执行它时会出现错误:
> dupremove PATH
bash: PATH=PATH:: command not found
我可以写任何想法吗?
答案 0 :(得分:1)
这适用于我(TM)
function dupremove
{
eval path=\$$1
export $1=$(awk 'BEGIN{ORS=":";RS="[:\n]"}!a[$0]++' <<< $path)
}