附加到数组的所有元素

时间:2013-11-26 17:42:32

标签: arrays shell foreach

我最近尝试创建所有唯一的路径名,设法获得唯一的名称echo $PATH | tr ":" "\n" | sort -u但是我并不真的想要手动或通过for循环将export PATH = $PATH:附加到它们。

我有什么方法可以做到这一点,

的行

'echo $PATH | tr ":" "\n" | sort -u | append each 'export PATH=\$PATH:'

1 个答案:

答案 0 :(得分:2)

这个怎么样:

path=$(echo $PATH | tr ":" " ")
append="something"
for p in $path; do s=$s$p$append":"; done

$s现在包含您的新路径,每个元素都附加了“内容”。

修改

您可以使用printf(感谢this answer):

append="something"
path=($(echo $PATH | tr ":" " ")) # notice the additional parentheses
printf "%s$append:" "${path[@]}"

不是很短,但也许有点发烧友!