-1

私は自分の醜いスクリプトをいくつか書きましたが、出力に必要なものを提供するだけでなく、ステータスコードの値も提供します。

スクリプトの出力は次のとおりです。スクリプトがそのステータス コードを出力に表示しないようにするにはどうすればよいですか??

PSスクリプトを下に置きます。目が痛くならないことを願っています

    Status code = 0

    Status code = 0

    Status code = 0
    job_1_1_1

    Status code = 0

    Status code = 0

    Status code = 0


    Status code = 0

    Status code = 0

    Status code = 0
    job_1_1_2

    Status code = 0

    Status code = 0

START_ID=`dsjob -logsum -type STARTED  UPSTREAM_MDM_D4  seq_1_1  | nawk 'ORS=(FNR%2)?FS:RS' | grep Starting | tail -1 | awk '{print $1 }'`; FATAL_IDS=`dsjob  -logsum -type INFO UPSTREAM_MDM_D4  seq_1_1  | grep INFO | awk '{print $1 }'`; for TEST_ID in ${FATAL_IDS}; do if [[ "${TEST_ID}" -ge "${START_ID}" ]]; then WARN_DTL=`dsjob  -logdetail UPSTREAM_MDM_D4 seq_1_1 ${TEST_ID}`; if `echo $WARN_DTL|grep -q 'has finished, status = 3'`; then message=`echo $WARN_DTL| grep -oP '\w+(?= has finished, status = 3)'`; fatal_errors=$fatal_errors$'\n'$message;fi; fi;done; echo $fatal_errors
4

1 に答える 1

0

正確に達成したいことを決定する必要があります。方法の1つは、たとえば次のようになります。

(
your commands
) 2>&1 | grep -v 'Status code = 0'

注意してください-上記は良い習慣ではありません-簡単なハックのような解決策にすぎません...

于 2014-03-28T12:25:14.937 に答える