#!/bin/bash
# Setup Variables
hostName=localhost
portNum=8080
SOLRPATH=/solr
SOLR='delta-import&clean=false'
STATUS='dataimport?command=status'
urlCmd='http://${hostName}:${portNum}${SOLRPATH}/dataimport?command=${SOLRCMD}"
statusCmd='http://${hostName}:${portNum}${SOLRPATH}/dataimport?command=${STATUS}"
myStdErrLog=/tmp/myProject/myProg.stderr.$(/bin/date +%Y%m%d.%H%M)
outputDir=.
# Operations
wget -O $outputDir/check_status_update_index.txt ${statusCmd} 2> ${myStdErrLog}
status=$(fgrep idle $outputDir/check_status_update_index.txt)
case "${status}" in
*idle* ) .... ;;
* ) echo "unknown status = ${status} or similar" 1>&2 ;;
esac
我真正理解的是,我们从varialbes中获得了urlcmd和statuscmd,但我不明白操作的作用。任何人都能解释一下吗?
答案 0 :(得分:2)
首先,行中存在错误
urlCmd='..."
statusCmd='..."
由于它们以双引号结尾并包含变量,因此它们也需要以双引号开头。
从不使用变量urlCmd
。不是一个错误,但它也不好。
wget
通过statusCmd
和fgrep
尝试检索状态以提取状态。然后在case语句中评估此状态。
答案 1 :(得分:1)
通常,它看起来像是尝试从网站下载数据并将管道状态下载到myStdErrLog。