如何使用调整后的环境变量启动运行bash的终端?


3

我正在使用Xubuntu和XFCE。

我想编写一个bash脚本,在xfce4-terminal中打开一个新选项卡。在此选项卡中,bash应该以更改的方式运行 PATH 环境变量。

目前,shell脚本看起来像这样:

xfce4-terminal \
    --tab \
    --title=GCC \
    --command 'bash'

它正在终端中打开一个新的bash-tab,就像它应该的那样。但是,我还想要设置这个环境变量:

export PATH=/home/manuel/toolchains/gcc-arm-none-eabi-4_9-2014q4/bin:$PATH

我想可以将此命令作为参数提供给 bash 我的shell脚本中的命令。然而,即使在研究了手册之后我也无法理解它。

Answers:


3

使用 ENV 命令。

env 运行具有修改环境的命令。提要:

env [option]... [name=value]... [command [args]...]

因此,在特定情况下,您应该运行以下命令:

xfce4-terminal \
    --tab \
    --title=GCC \
    --command "env PATH=/home/manuel/toolchains/gcc-arm-none-eabi-4_9-2014q4/bin:$PATH bash"

请注意,我使用了双引号( " 而不是单身( ' ),因为我需要旧的价值 PATH 环境变量。


1
有效!你能告诉我怎么做,如果我想要打开的bash shell来执行(或者,最好是, source )打开后立即打开shell脚本?
Multisync

@Multisync,可能有更好的方法,但这是我现在能够找到的。该 “调用Bash” 手册的一部分建议用它来运行它 --init-file 要么 --rcfile 选项。以来 ~/.bashrc 将被跳过,你可能想在脚本的开头找到它,所以你不要错过它。所以你会做类似的事情 --init-file custom.sh 并在开始时 custom.shsource ~/.bashrc
Cristian Ciupitu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.