【问题标题】:How to I resolve command not found in AWS EC2?如何解决在 AWS EC2 中找不到的命令?
【发布时间】:2019-09-11 22:55:41
【问题描述】:

突然没有 linux 命令(ls、vi 等)在 AWS EC2 实例中运行,我收到消息说找不到命令。

我已经启动了一个 EC2 实例,所有 linux 命令都运行良好。 然后我将一些文件上传到 EC2 并提取它们(设置我的环境)。

我对 ~/.bashrc 文件进行了以下更改

export M2_HOME=/home/ec2-user/apache-maven-3.6.0
export JAVA_HOME=/home/ec2-user/jdk1.8.0_151
export ANT_HOME=/home/ec2-user/apache-ant-1.9.13
export PATH=/home/ec2-user/jdk1.7.0_80/bin:/home/ec2-user/apache-maven-3.6.0/bin
export JBOSS_HOME=target/wildfly-run/wildfly-11.0.0.Final

我在我的 AWS EC2 实例中执行了以下命令。

source ~/.bashrc

在此之后 linux 命令(ls、vi、cat 等)不起作用,但是“which”、“pwd”命令正在起作用。

有人可以帮助我更正 PATH 设置,以便我的命令开始正常执行

【问题讨论】:

  • 一个可能的解决办法是使用/bin/ls而不是ls,因为这些常用命令在/bin.

标签: amazon-web-services amazon-ec2 environment-variables command-line-interface


【解决方案1】:

您应该将原始 PATH 附加到您所做的添加(使用 $PATH 变量),如下所示:

导出 PATH=/home/ec2-user/jdk1.7.0_80/bin:/home/ec2-user/apache-maven-3.6.0/bin:$PATH

【讨论】:

  • sudo 命令不起作用,说找不到命令,有什么建议吗?
  • sudo 在 /usr/bin 所以检查它是否在路径中。但是,通过使用 $PATH 变量,它应该会自动包含在内。
【解决方案2】:

更改路径值如下解决所有问题

export PATH=/usr/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/local/bin:/opt/aws/bin:/root/bin:/home/ec2-user/jdk1.7.0_80/bin:/home/ec2-user/apache-maven-3.5.2/bin:/home/ec2-user/apache-ant-1.9.14/bin

下面是系统默认路径

PATH=/usr/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/local/bin:/opt/aws/bin:/root/bin

【讨论】:

  • 拯救了我的一天。谢谢!
猜你喜欢
  • 2016-03-13
  • 2019-05-04
  • 1970-01-01
  • 1970-01-01
  • 2014-01-29
  • 1970-01-01
  • 2012-12-12
  • 1970-01-01
相关资源
最近更新 更多