Linux 命令行报错:-bash:XXX: command not found ,解决方法参考

相关错误

在网上搜索了类似的错误解决方法,错误虽然不同,但解决办法可以学习一下。

Centos命令行报bash:.....:command not found的解决办法


Uset: command not found


解决centos提示:-bash:man:command not found


我的错误


在CentOS中安装jdk时,

修改配置文件,输入命令 :

vim /etc/profile 

修改完后重新编译,输入命令 :

source /etc/profile

我的CentOS错误信息是:-bash:UNset: command not found

-bash:UNset: command not found


解决方法

最后发现了错误原因,将UNset 改为unset。


这样就可以正确编译了。


配置信息

/etc/profile中的信息

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}


if [ -x /usr/bin/id ]; then
    if [ -z "$EUID" ]; then
        # ksh workaround
        EUID=`id -u`
        UID=`id -ru`
    fi
    USER="`id -un`"
    LOGNAME=$USER
    MAIL="/var/spool/mail/$USER"
fi

# Path manipulation
if [ "$EUID" = "0" ]; then
    pathmunge /sbin
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
else
    pathmunge /usr/local/sbin after
    pathmunge /usr/sbin after
    pathmunge /sbin after
fi

HOSTNAME=`/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
    export HISTCONTROL=ignoreboth
else
    export HISTCONTROL=ignoredups
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
else
    umask 022
fi

for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null 2>&1
        fi
    fi
done

unset i
unset -f pathmunge
export JAVA_HOME=/usr/local/src/java/jdk/jdk1.7.0_71
export PATH=$PATH:$JAVA_HOME/bin


### 裸机或容器环境下 OpenJDK 配置解决方案 在裸机或者 Docker 容器环境中安装 OpenJDK 后,如果遇到 `bash: java: command not found` 的问题,通常是由于环境变量未正确配置所致。以下是详细的分析与解决方法: #### 1. 确认 Java 是否已成功安装 首先确认 OpenJDK 已经被正确安装并可以正常运行。可以通过以下命令查看其具体路径: ```bash which java ``` 如果没有返回任何路径,则说明当前系统无法找到 Java 执行文件。 此时可尝试通过 `whereis java` 来定位可能存在的 Java 文件位置[^2]。例如: ```bash whereis java ``` 假设返回的结果为 `/usr/local/openjdk-8/bin/java`,则表明 Java 存在于该目录下。 --- #### 2. 编辑 `.bash_profile` 或 `/etc/profile` 添加环境变量 为了全局启用 Java 环境变量,需将其添加至系统的 shell 配置文件中。对于单用户的场景,推荐修改个人的 `.bash_profile`;而对于多用户或多节点的情况(如 Docker 中),建议直接编辑 `/etc/profile`。 ##### 方法一:针对单一用户 打开终端执行以下命令进入编辑模式: ```bash vim ~/.bash_profile ``` 随后,在文件末尾追加以下内容: ```bash export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64 export PATH=$PATH:$JAVA_HOME/bin ``` 保存退出后,重新加载配置使其生效: ```bash source ~/.bash_profile ``` ##### 方法二:针对全局用户 如果是 Docker 容器或其他需要跨用户共享环境的情况下,可以直接编辑 `/etc/profile` 文件: ```bash apt-get update && apt-get install -y vim vim /etc/profile ``` 同样地,在文件末尾加入如下代码片段: ```bash export JAVA_HOME=/usr/local/openjdk-8 export PATH=$PATH:$JAVA_HOME/bin ``` 完成后记得刷新配置: ```bash source /etc/profile ``` 注意:某些轻量级镜像可能会缺少基础工具包(比如 Vim)。这种情况下可通过 `apt-get install -y vim` 进行安装。 --- #### 3. 测试配置效果 完成以上操作后,再次验证 Java 和其他相关命令是否可用: ```bash java -version jps ``` 如果一切正常,应该能够看到类似于下面的信息输出: ```plaintext java version "1.8.0_XXX" Java(TM) SE Runtime Environment ... ``` 假如仍然提示找不到 `jps` 命令,请进一步检查 JDK 版本完整性以及是否存在缺失组件。通常来说,标准版 OpenJDK 应当自带这些基本管理工具[^3]。 --- ### 总结 综上所述,解决 `bash: java: command not found` 的核心在于合理设置 `$JAVA_HOME` 和更新 `$PATH` 变量。无论是本地机器还是虚拟化平台中的应用部署都需要遵循这一原则来保障程序顺利启动和调试。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值