if case ,无法正确匹配 始终执行hadoop的start-all.sh
本帖最后由 i1zhuxian 于 2015-10-8 10:00 编辑执行./ha.sh $1 $2 时 输入./ha.sh hbase stop
或其他的命令 都变成执行$HADOOP_HOME/sbin/start-all.sh 这个命令了
找了好久没找到哪里写错了 {:6_434:}
求各位大神帮帮……{:6_434:}
#!/bin/bash
if [ $1=="hadoop" ] ; then
case $2 in
start)
$HADOOP_HOME/sbin/start-all.sh
;;
stop)
$HADOOP_HOME/sbin/start-all.sh
;;
*)
echo "it's wrong"
;;
esac
else
if [ $1=="spark" ];then
case $2 in
start)
$SPARK_HOME/sbin/start-all.sh
;;
stop)
$SPARK_HOME/sbin/stop-all.sh
;;
*)
echo "it's wrong"
;;
esac
else
if [ $1=="hbase" ];then
case $2 in
start)
$HBASE_HOME/bin/start-hbase.sh
;;
stop)
$HBASE_HOME/bin/stop-hbase.sh
;;
*)
echo "it's wrong"
;;
esac
else
if [ $1=="zkServer" ];then
case $2 in
start)
$ZK_HOME/bin/zkServer.sh $2
;;
stop)
$ZK_HOME/bin/zkServer.sh $2
;;
status)
$ZK_HOME/bin/zkServer.sh $2
;;
*)
echo "it's wrong"
;;
esac
fi
fi
fi
fi
大概测试一下没发现什么问题
建议echo输出各命令,看看是不是环境变量的问题
或者在脚本开头加
. /etc/profile
. ~/.bash_profile 1307077801 发表于 2015-9-30 20:09
大概测试一下没发现什么问题
{:6_441:}谢了哈原来是==空格问题……
页:
[1]