انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: farzad3342 در 17 بهمن 1400، 03:02 ب‌ظ

عنوان: راهنمایی درمورد بش اسکریپت
ارسال شده توسط: farzad3342 در 17 بهمن 1400، 03:02 ب‌ظ
سلام.
من بتازگی در حال یادگیری بش اسکریپت هستم.
در نمونه زیر اگر ورودی سوم غیر از موارد تعریف شده باشه پیام "ارور" نشون میده،من میخوام دوباره بعد از نمایش این پیغام ورودی سومو اجرا کنه و مقدار درستو بگیره و کارشو انجام بده ولی نمیدونم چطور و با چه روشی اینکارو انجام بدم. ممنون اگر راهنمایی بفرمایید.

#!/bin/bash
while true;do
read -p "enter var1:" "var1"
read -p "enter var 2:" "var2"
read -p "select operation type:" "opr"
case "$opr" in
"x")
echo "something1"
;;
"y")
echo "something2"
;;
*)
echo "error"
esac
done
عنوان: پاسخ : راهنمایی درمورد بش اسکریپت
ارسال شده توسط: behzad121 در 17 بهمن 1400، 05:38 ب‌ظ
این کار رو با استفاده از فانکشن ها میتونید انجام بدید:
#!/bin/bash

get_user_data () {
read -p "enter var1:" "var1"
read -p "enter var 2:" "var2"
read -p "select operation type:" "opr"

check_value
}

check_value () {
case "$opr" in
        "x")   
                echo "something1"
        ;;
       
        "y")   
                echo "something2"
        ;;
       
        *)     
                echo "error"
get_user_data
;;

esac
}

get_user_data