[英]Multiple conditions on IF with Shell Script
我的一位同事檢查了一個文件處理腳本,該腳本從我們的數據庫中提取數據並將其放在 some.txt 文件中。
if [ $File_ID < 4 ] || [ $File_ID > 64 ] || [ $File_ID -eq 60 ] && [ $File_ID != 0 ] && [ $File_ID != 1 ]; then
規則:
現在,我正在嘗試生成 File_ID 等於 11 的文件,但我得到了錯誤。 這個說法有什么問題?
我會使用case
語句和if
語句:
if [ "$File_ID" -lt 0 ] || [ "$File_ID" -gt 64 ]; then
printf 'File_ID %d out of range\n' "$File_ID"
exit 1;
fi
case $File_ID in
0) extract-files ;;
1) printf "You didn't say what to do with 1\n" >&2; exit 1 ;;
2|3|60) printf 'Error\n' >&2; exit 1 ;;
*) printf 'Pass\n' ;;
esac
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.