shell /bin/sh:aws:在M1 MacBook Pro上找不到命令[已关闭]

i34xakig  于 2023-05-01  发布在  Shell
关注(0)|答案(1)|浏览(149)

**关闭。**这个问题是not about programming or software development。目前不接受答复。

这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
昨天关门了。
Improve this question
当我尝试在我的M1 MacBook Pro上运行使用aws-cli的脚本时,我得到了错误:/bin/sh: aws: command not found。在我的旧MacBook(没有M1)和其他OSX系统上,脚本工作正常。奇怪的是,我肯定安装了aws,pip和python。
为什么我已经安装了软件包,但在脚本中使用时却找不到它?
这里有一些我尝试过的更多信息。

$ aws --v 
aws-cli/2.11.15 Python/3.11.3 Darwin/21.4.0 source/arm64 prompt/off

我用Homebrew安装了aws-cli,并在我的。zprofile。

$ brew install awscli

$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
$ cat ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

此外,aws-cli安装在Homebrew中,aws位于此处:

$ which aws
/opt/homebrew/bin/aws

我把/opt/homebrew/bin添加到我的路径:

$ export PATH=`/opt/homebrew/bin`:$PATH

$ printenv PATH
/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

我的默认shell是ZSH(也安装了Homebrew):

$ echo $SHELL
/opt/homebrew/bin/zsh

有人知道可能出了什么问题吗?

gpfsuwkq

gpfsuwkq1#

/bin/sh: aws: command not found“/bin/sh可能不是zsh。在我的Mac上,/bin/sh是bash:

% /bin/sh --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin21)
Copyright (C) 2007 Free Software Foundation, Inc.

您已将aws添加到_Z_sh配置文件中的路径。您还应该为~/.bashrc添加PATH设置,以便非交互式bash shell能够使用它。
~/.bashrc中:

export PATH="/opt/homebrew/bin:$PATH"

如果你想让它在所有shell中正确设置,即使你的用户不是调用它的人,最简单的方法可能是将/usr/local/bin/aws符号链接到/opt/homebrew/bin/aws,这是官方安装程序指令让你做的。
为什么是/bin/sh?可能是因为shebang行(shell脚本的第一行以#!)指定/bin /sh作为解释器。

相关问题