在Shell脚本中导出路径变量

sriramsm04

我已经创建了一个脚本,可以将Terraform下载到我的服务器上并进行安装。

#!/bin/bash

wget https://releases.hashicorp.com/terraform/0.7.0/terraform_0.7.0_linux_amd64.zip

unzip terraform_0.7.0_linux_amd64.zip

echo "export PATH=$PATH:/root/terraform_dir" >> /root/.bash_profile

source /root/.bash_profile

terraform --version

这段代码运行良好。但是,一旦脚本完成并显示出来,.bash_profile文件就会恢复其原始状态。即路径变量未更新。

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

当我给出terraform --version外壳程序脚本之外时,它无法正常工作。

但是,当我给su -,然后尝试时,terraform --version它实际上可以正常工作。

是否有任何解决方法或自动脚本来更新.bash_profile我不想每次更新.bash_profile?时都重新启动会话

奥立佛

Shell脚本在子shell中运行(您在第一行中将其定义为#!/ bin / bash),环境中的任何更改都是该子Shell的本地内容,因此,bash_profile的来源仅影响该子Shell。

要在当前shell中执行命令,请使用source命令在当前shell中运行脚本(http://ss64.com/bash/source.html

例如代替

$ ./myscript.sh

跑步:

$ source ./myscript.sh

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Shell脚本中导出路径变量

来自分类Dev

在 shell 脚本中导出因变量失败

来自分类Dev

如何在Posix Shell脚本中导出环境变量?

来自分类Dev

.bashrc不导出路径?

来自分类Dev

耙不导出路径

来自分类Dev

无法在新Shell中导出或设置变量

来自分类Dev

在shell脚本中“导出”变量

来自分类Dev

为什么我无法在bash脚本中成功导出路径?

来自分类Dev

在shell脚本中哪个更好,是在函数调用中导出变量还是在函数调用中使用echo返回?

来自分类Dev

Docker for Mac教程-重叠的导出路径

来自分类Dev

在“导出路径”之后保持相同的结果

来自分类Dev

更改Microsoft Visio默认导出路径

来自分类Dev

导出路径的确定而直接的方法

来自分类Dev

带有导出路径的混乱

来自分类Dev

如何使用source命令导出路径?

来自分类Dev

pyenv和anaconda问题与“导出路径”

来自分类Dev

我们可以在wlst脚本中导出变量吗

来自分类Dev

在Makefile中导出变量

来自分类Dev

从读取中导出变量

来自分类Dev

为什么在ssh shell中导出变量会打印导出的变量列表?

来自分类Dev

如何将变量从Perl脚本导出到Shell脚本?

来自分类Dev

为什么“导出路径”在终端中显示为标题?

来自分类Dev

重启后导出路径不起作用

来自分类Dev

问题导出路径以在 ubuntu 上触发主页

来自分类Dev

那是什么命令?导出路径=~/.local/bin:$PATH

来自分类Dev

在PHP exec中导出变量

来自分类Dev

从案例陈述中导出变量

来自分类Dev

如何在shell脚本中使环境变量“导出”?

来自分类Dev

使用shell脚本将变量导出到linux