Bash脚本在没有回显的情况下结束

时间:2015-04-30 10:55:51

标签: bash shell jmeter

我正在从命令行运行一个脚本,如果设置了4个变量,它将运行一系列Jmeter测试。

该脚本有效,但我添加了部件,因此如果服务器未知,脚本将结束。

if [ echo "$2" != | grep -iq "^hibagon" ] || [ echo "$2" != | grep -iq "^kameosa" ] ;then
echo "Unkown server stopping tests" 
  else
echo "Continueing to tests"

当脚本的这一部分运行时,如果找不到hibagon或kameosa(不区分大小写),它将结束脚本。

我希望命令行回显未知服务器停止测试然后结束但此刻它结束时没有回显

2 个答案:

答案 0 :(得分:2)

这是一种奇怪的语法。试试这个:

var arr = $(data).map(function(){
    return this.value
}).get().join(' , ');
$('#spanid').text(arr);

或者,如果你正在使用bash:

if echo "$2" | grep -iq "^hibagon\|^kameosa";
then 
    echo "Continuing to tests"
else
    echo "Unkown server, stopping tests" 
fi

答案 1 :(得分:1)

首先测试[ echo "$2" != | grep -iq "^hibagon" ]是错误的,然后你只能使用一个(扩展的)grep和否定标志-v将两个单词放在一个正则表达式^(hibagon|kameosa)中。此外fi也丢失了。但我认为这只是一个错字。

if echo "$2" | egrep -ivq "^(hibagon|kameosa)"; then
    echo "Unknown server stopping tests" 

else
    echo "Continuing to tests"

fi

如果你喜欢,甚至:

if egrep -ivq "^(hibagon|kameosa)" <<< "$2"; then