Zookeeper启动异常记录
下载Zookeeper启动报错(使用sh命令启动),如下:
zkServer.sh: 80: /home/work/apache-zookeeper-3.6.3-bin/bin/zkEnv.sh: [[: not found -p: not found java is /usr/local/jdk1.8/bin/java Error: JAVA_HOME is not set and java could not be found in PATH.
一直认为是zkEnv.sh中JAVA_HOME没配置的原因,加上JAVA_HOME的赋值后,依然报错。
仔细看具体原因和启动脚本:是sh不支持双中括号[[,使用bash是可以的。使用bash
(1)查看shell脚本头部声明,#!/usr/bin/env bash,表明需要使用bash命令执行。
(2)符号#!用来告诉系统后面的参数是用来执行该文件的程序。
(3)sh命令功能是比较受限的,没有双中括号的条件判断,只有作为命令的单中括号。
(4)在我们平常实地操作的时候如果sh这个命令不灵了我们应当使用bash。
这是水木竹水的博客