0
#!/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を構築することだけですが、操作が何をするのか理解していません。誰かが光を当てることができますか?

4

2 に答える 2

2

まず、行にバグがあります

urlCmd='..."
statusCmd='..."

それらは二重引用符で終わり、変数が含まれているため、同様に二重引用符で始める必要があります。

変数urlCmdは使用されません。バグではありませんが、それも良くありません。

wgetを介してステータスを取得し、ステータスの抽出statusCmdfgrep試みます。このステータスは、caseステートメントで評価されます。

于 2012-11-18T22:33:54.970 に答える
1

一般に、Webサイトからデータをダウンロードし、ステータスをmyStdErrLogにパイプしようとしているように見えます。

于 2012-11-18T22:34:11.113 に答える