我是 bash 新手,需要一些简单的脚本。它运行 jar,并且必须找到“响应代码:XXX”。我需要这个响应代码(只是 XXX)。我试过这个:
URL=$1
echo $URL
callResult=`java -jar RESTCaller.jar $URL`
status=$?
if [ $status -eq 0 ]; then
result=`$callResult >> grep 'RESPONSE CODE' | cut -d':' -f 2`
else
echo error
fi
我得到./run.sh: line 7: RESPONSE: command not find
我做错了什么?
最佳答案
在这一行中:
result=`$callResult >> grep 'RESPONSE CODE' | cut -d':' -f 2`
您应该将输出通过管道传输到 grep,而不是重定向。将其更改为:
result=`$callResult | grep 'RESPONSE CODE' | cut -d':' -f 2`
此外,语法有点不对,最好尽可能避免反引号。这更好:
result="$(echo ${callResult} | grep 'RESPONSE CODE' | cut -d':' -f 2)"
关于带有 grep 和 cut 的 bash 脚本 : command not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17433825/