使用多行语法将路径添加到PATH

阿梅里奥·巴斯克斯·雷纳(Amelio Vazquez-Reina)

据我了解,将路径添加到PATH环境变量的通常方法是串联由:字符分隔的路径

例如,如果我想三个路径添加到它/my/path/1/my/path/2并且/my/path/3,我会做到这一点,如下所示:

PATH=$PATH:/my/path/1:/my/path/2:/my/path/3

这不容易阅读。

有没有一种方法可以使用多行语法定义变量添加路径也许使用数组?我正在寻找这样的东西:PATH

PATH = 
$PATH
/my/path/1
/my/path/2
/my/path/3

如果有一些特定于shell的有趣解决方案,那么我正在zsh中寻找一种解决方案。

jfg956

我不知道它是否可以在zsh中使用,但是可以在bash中使用:

PATH=$(paste -d ":" -s << EOF 
$PATH
/my/path/1
/my/path/2
/my/path/3
EOF
)

编辑甚至更短:

PATH=`paste -d ":" -s << EOF 
$PATH
/my/path/1
/my/path/2
/my/path/3
EOF`

并且没有产生一个过程:

new_path=(
"$PATH"
/my/path/1
/my/path/2
/my/path/3)
OLD_IFS="$IFS"
export IFS=":"
PATH="${new_path[*]}"
export IFS="$OLD_IFS"

双引号是重要的以防万一$PATH$IFS${new_path[*]}$OLD_IFS保持在IFS的变量,并避免外壳的解释空间。

使用sed的带有注释和空行管理的Update2

PATH=`sed -e '/^#/'d -e '/^$/'d << EOF | paste -d ":" -s 
$PATH
/my/path/1
# This is a comment.
/my/path/2

/my/path/3
EOF`

注释字符必须是该行的第一个字符,并且空行应完全为空。要在注释和空白行之前管理空格和制表符,请sed -e '/^[ \t]*#/'d -e '/^[ \t]*$/'d改用(要测试的制表符,因为它可能特定于sed实现)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将python包的路径添加到sys.path

来自分类Dev

使用指令将多行项目添加到表中

来自分类Dev

将路径添加到$ PATH(如果尚未在$ PATH中)

来自分类Dev

将/ snap / bin添加到systemd使用的PATH

来自分类Dev

将touchListener添加到路径对象

来自分类Dev

将bash脚本添加到路径

来自分类Dev

将Devkit添加到环境路径

来自分类Dev

将圆添加到多个路径

来自分类Dev

将(BezierSegment添加到)画布路径

来自分类Dev

将程序添加到路径

来自分类Dev

将路径添加到.bashrc

来自分类Dev

将变量添加到文件路径

来自分类Dev

将路径添加到Filza(徽标)

来自分类Dev

将版本添加到Tomcat路径

来自分类Dev

将类添加到 SVG 路径

来自分类Dev

将 nvm 添加到 zsh 路径

来自分类Dev

使用Github Actions添加到路径

来自分类Dev

提示:将目录添加到PATH

来自分类Dev

将当前目录添加到PATH

来自分类Dev

无法将 python 添加到 PATH

来自分类Dev

如何将路径添加到剪辑路径

来自分类Dev

在R中使用gridextra时,将多行脚注添加到tableGrob

来自分类Dev

使用多行动态将数据添加到折线图js

来自分类Dev

是否可以将文本添加到多行之前

来自分类Dev

将标题添加到多行的消息框

来自分类Dev

鱼壳-Virtualenv路径未添加到PATH

来自分类Dev

多行添加到表

来自分类Dev

如何使用tox添加到$ PATH?

来自分类Dev

如何使用tox添加到$ PATH?