簡體   English   中英

如何在Shell腳本中使用循環語句

[英]How to use loops statements in shell scripting

我編寫了一個腳本來執行控件。 在腳本中,我正在檢查錯誤。 如果error = 200,則五分鍾后再次重新運行該控件。 現在,無論錯誤如何,腳本都將存在。 下面是我的腳本。

. $HOME/infogix.env
#!/bin/bash
SCRIPT_NAME=$(basename $0)
INFOGIX=info/IA83/Client/bin/runcp.sh

check_for_errors()
{
if  [ "${1}" -ne "0" ]; then
exit 1
fi
}
$RUNCP_HOME -c $1 IA -entity NGN_MKTG_CNCT_HIST_FILECNT_CE -point FILE_EXTRACT_CP
check_for_errors $?

echo "Processing Complete for ${SCRIPT_NAME}"
exit 0
#EOF

您實際上並沒有在腳本中使用循環。

#!/bin/bash

. "$HOME/infogix.env"
script_name="$(basename "$0")"
info_gix="info/IA83/Client/bin/runcp.sh"

function run_runcp()
{
    $RUNCP_HOME -c "$1" IA -entity NGN_MKTG_CNCT_HIST_FILECNT_CE -point FILE_EXTRACT_CP;
    if [ "$?" -eq 200 ]; then
        return 0
    else
        return 1
    fi
}

# If RUNCP_HOME returns 0, then the loop will stop. Otherwise, it will sleep for 5 minutes then continue
while run_runcp "$1"; do
    sleep 300 # Five minutes
done

echo "Processing Complete for ${script_name}"
exit 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM