尝试让Amazon的EC2命令行工具正常工作。这就是我的.bash_profile的样子。我收到错误:/users/zmjones/.ec2/bin/ec2-add-keypair:/ usr / bin / env:bad interpreter:不允许操作
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:$PATH
PATH=/opt/local/sbin:/usr/local/bin:/usr/x11/bin:/usr/texbin:$PATH
PATH=/usr/local/texlive/2011/bin/x86_64-darwin:$PATH
PATH=/Library/Frameworks/EPD64.framework/Versions/Current/bin:$PATH
EC2_HOME=~/.ec2
PATH=$PATH:$EC2_HOME/bin
EC2_PRIVATE_KEY=`ls $EC2_HOME/pk-*.pem`
EC2_CERT=`ls $EC2_HOME/cert-*.pem`
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home/
export PATH
有人看到这个有什么问题吗?我不确定我做错了什么。
ls -l /usr/bin/env
-r-xr-xr-x 1 root wheel 34720 Sep 8 2011 /usr/bin/env
zmjones-mbp:.ec2 zmjones$ /usr/bin/env
TERM_PROGRAM=iTerm.app
TERM=xterm
SHELL=/bin/bash
TMPDIR=/var/folders/x3/vrw5029d1rj9xblj8bmxl0m00000gn/T/
Apple_PubSub_Socket_Render=/tmp/launch-91y0bp/Render
OLDPWD=/Users/zmjones
USER=zmjones
COMMAND_MODE=unix2003
SSH_AUTH_SOCK=/tmp/launch-H3JJsl/Listeners
__CF_USER_TEXT_ENCODING=0x1F5:0:0
Apple_Ubiquity_Message=/tmp/launch-n2bT2X/Apple_Ubiquity_Message
PATH=/users/zmjones/.ec2/bin:/Library/Frameworks/EPD64.framework/Versions/Current/bin:/usr/local/texlive/2011/bin/x86_64-darwin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/x11/bin:/usr/texbn
PWD=/Users/zmjones/.ec2
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home/
LANG=en_US.UTF-8
ITERM_PROFILE=Default
SHLVL=1
HOME=/Users/zmjones
ITERM_SESSION_ID=w0t0p0
LOGNAME=zmjones
EC2_PRIVATE_KEY=pk-mykey.pem
DISPLAY=/tmp/launch-6kkP5t/org.x:0
EC2_CERT=cert-mycert.pem
_=/usr/bin/env
部分解决方案:tr -d '\r' < /users/zmjones/.ec2/bin/ec2-add-keypair > /users/zmjones/.ec2/bin/ec2-add-keypair
这似乎允许命令执行,但它们现在不起作用。例如,我下载了ec2 api工具的新副本,将它们放入~/.ec2
试用ec2-describe-images -o amazon
并得到错误的解释器错误。我将ec2-describe-images
重命名为ec2-describe-images.bak
,运行上面列出的tr
命令并再次尝试。然后我收到permission denied error
。当我使用sudo运行它时,它告诉我EC2_HOME
未设置,但echo $EC2_HOME
表示它已设置。我跑了chmod +x ec2-describe-images
,现在我回到了同样糟糕的互联网错误。
答案 0 :(得分:2)
/users/zmjones/.ec2/bin/ec2-add-keypair
有DOS line-endings。
修复:
mv /users/zmjones/.ec2/bin/ec2-add-keypair /users/zmjones/.ec2/bin/ec2-add-keypair.bak
tr -d '\r' < /users/zmjones/.ec2/bin/ec2-add-keypair.bak > /users/zmjones/.ec2/bin/ec2-add-keypair
答案 1 :(得分:2)
在Windows上发生这种情况,因为我的bash文件中包含错误的标题。我有
#!/usr/bin/bash
代替#!/usr/bin/env bash
便携式版本。
答案 2 :(得分:1)
我遇到了完全相同的问题。
问题的原因是“unarchiver工具”。
我已经安装了第三方unarchiver工具。它可能会在解压缩过程中更改文件的行尾。
在我意识到这一点后,我删除了这个工具并使用原生解压缩工具重新解压缩EC2拉链球。问题解决了。
希望这可能对你们有同样问题的人有用。