为什么AWS cli被一个bash脚本看到,而另一个看不到?

我在一个目录下有2个bash脚本。第一个脚本被运行并执行。

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
./awscli-bundle/install -b ~/bin/aws
export PATH=~/bin:$PATH

eval $(aws ecr get-login --region eu-west-2 --no-include-email) # executes OK

第二个脚本被运行并执行。

configure_aws_cli() {
      aws --version
      aws configure set default.region eu-west-2
      aws configure set default.output json
      echo "AWS configured."
    }

configure_aws_cli

为什么我得到的是 aws: command not found ?

即使在违反DRY这样的情况下,我也会得到这个错误。

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
./awscli-bundle/install -b ~/bin/aws
export PATH=~/bin:$PATH

configure_aws_cli() {
      aws --version
      aws configure set default.region eu-west-2
      aws configure set default.output json
      echo "AWS configured."
    }

configure_aws_cli

解决方案:

如果你只是执行一个脚本,它将会被子进程执行,你的 “export PATH “将与这个子进程一起死掉。

. ./first.sh
./second.sh

给TA打赏
共{{data.count}}人
人已打赏
未分类

翩翩飞舞的SliverAppBar,折叠背景填充前导空间。

2022-9-8 11:11:34

未分类

PyMC3在PyCharm中的plots.traceplot。

2022-9-8 11:11:36

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索