CASE语句BASH中的多个变量

CASE语句BASH中的多个变量,bash,Bash,st文件 我有一段代码,它将行读入变量,并将其与不同的值(“成功”、“失败”、“中止”)进行比较,然后写入适当的输出 failed" "aa" "2018-04-03T17:43:38Z" "2018-04-03T18:43:38Z" 多个IF语句:我认为它更复杂 while read -r status name startdate enddate; do startdate=${startdate//\"/} stime=$(date -d "${startdate/T/ }" +%s)

st文件

我有一段代码,它将行读入变量,并将其与不同的值(“成功”、“失败”、“中止”)进行比较,然后写入适当的输出

failed" "aa" "2018-04-03T17:43:38Z" "2018-04-03T18:43:38Z"

多个IF语句:我认为它更复杂

while read -r status name startdate enddate; do

startdate=${startdate//\"/}
stime=$(date -d "${startdate/T/ }" +%s)
enddate=${enddate//\"/}
etime=$(date -d "${enddate/T/ }" +%s)
let elapsed=etime-stime

case "$status" in
 "\"aborted\"")
echo "Job " $name "aborted"
;;
 "\"failed\"")
echo "Job " $name "failed" 
;;
 "\"succeeded\"")
echo "Job " $name "success"
;;
*) echo 0 + $name
esac
exit 0


done<st.txt

多个IF语句:我认为它更复杂

while read -r status name startdate enddate; do

startdate=${startdate//\"/}
stime=$(date -d "${startdate/T/ }" +%s)
enddate=${enddate//\"/}
etime=$(date -d "${enddate/T/ }" +%s)
let elapsed=etime-stime

case "$status" in
 "\"aborted\"")
echo "Job " $name "aborted"
;;
 "\"failed\"")
echo "Job " $name "failed" 
;;
 "\"succeeded\"")
echo "Job " $name "success"
;;
*) echo 0 + $name
esac
exit 0


done<st.txt

只需向中止的案例分支添加更多代码:

   if [ "$status" == "\"aborted\"" ] && [ "$elapsed" -gt 300 ]; then echo "Long Running Process-Demo"
    elif  [ "$status" == "\"aborted\"" ] && [ "$elapsed" -lt 300 ]; then echo "Aborted-Demo"
    elif  [ "$status" == "\"failed\"" ]; then echo "Job" $name "failed-Demo"
    elif  [ "$status" == "\"succeeded\"" ]; then echo "Job" $name "Succeded"
    fi
我鼓励您在代码上使用缩进


另外,

只需向中止的案例分支添加更多代码:

   if [ "$status" == "\"aborted\"" ] && [ "$elapsed" -gt 300 ]; then echo "Long Running Process-Demo"
    elif  [ "$status" == "\"aborted\"" ] && [ "$elapsed" -lt 300 ]; then echo "Aborted-Demo"
    elif  [ "$status" == "\"failed\"" ]; then echo "Job" $name "failed-Demo"
    elif  [ "$status" == "\"succeeded\"" ]; then echo "Job" $name "Succeded"
    fi
我鼓励您在代码上使用缩进


另外,

因为我喜欢的引用方式而被提升:
“中止”
,而不是
“中止”
…因为我喜欢的引用方式而被提升:
“中止”
,而不是
“中止”
。。。