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

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: راهنمایی برای نوشتن یه اسکریپت (حل شد)  (دفعات بازدید: 1328 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین moslem.b

  • High Sr. Member
  • *
  • ارسال: 590
  • جنسیت : پسر
من یه اسکریپت به شکل زیر دارم چجوری میتونم کاری کنم که اگه کاربر جوابی بجز y / n بزنه دوباره اسکریپت برگرده سوال رو از ابتدا تکرار کنه تا کاربر مجبور بشه y یا n بزنه
echo "Are you ready for update your system ? ( y/ n )"

read question1
if [ $question1  = "y" ] || [ $question1  = "Y" ]
then
{
apt-get update | echo "Your system upadated . . ."
elif [ $question1  = "n" ] || [ $question1  = "N" ]
then
echo "you should update system" | echo "Your system not upadated . . ."
else
        echo "Please chose y or n"
fi
« آخرین ویرایش: 23 آبان 1389، 10:49 ب‌ظ توسط moslem.b »
(\__/)
(='.'=)
(")_(")

آفلاین HojjatJafary

  • Full Member
  • *
  • ارسال: 107
پاسخ به: راهنمایی برای نوشتن یه اسکریپت
« پاسخ #1 : 23 آبان 1389، 10:58 ق‌ظ »
#!/bin/bash

question1 = "x"

echo "Are you ready for update your system ? ( y/ n )"

while [ "$question1" != "Y" ] && [ "$question1" != "y" ] && [ "$question1" != "N" ] && [ "$question1" != "n" ]
do

read question1

if [ "$question1"  == "Y" ] || [ "$question1"  == "y" ]
then
echo "Your system upadated . . ."
elif [ "$question1"  == "N" ] || [ "$question1" == "n" ]
then
echo "You should update your system" | echo "Your system not upadated . . ."
else
echo "Please choose y or n!"
fi

done

آفلاین moslem.b

  • High Sr. Member
  • *
  • ارسال: 590
  • جنسیت : پسر
پاسخ به: راهنمایی برای نوشتن یه اسکریپت
« پاسخ #2 : 23 آبان 1389، 02:45 ب‌ظ »
مرسی حجت جان فقط این question1 = x که خط اول نوشتی واسه چیه ؟ تو ترمینال هم ارور میده
(\__/)
(='.'=)
(")_(")

lomion

  • مهمان
پاسخ به: راهنمایی برای نوشتن یه اسکریپت
« پاسخ #3 : 23 آبان 1389، 03:23 ب‌ظ »
برای مقدار دادن اولیه هست که داخل حلقه با یه مقداری بره که حتما بدنه حلقه یه بار اجرا بشه.

آفلاین moslem.b

  • High Sr. Member
  • *
  • ارسال: 590
  • جنسیت : پسر
پاسخ به: راهنمایی برای نوشتن یه اسکریپت
« پاسخ #4 : 23 آبان 1389، 04:36 ب‌ظ »
ولی توی ترمینال ارور میده و وقتی حذفش می کنم بدون مشکل اجرا میشه line 3: question1: command not found

(\__/)
(='.'=)
(")_(")

آفلاین HojjatJafary

  • Full Member
  • *
  • ارسال: 107
پاسخ به: راهنمایی برای نوشتن یه اسکریپت
« پاسخ #5 : 23 آبان 1389، 06:45 ب‌ظ »
در ترمینال بنده که مشکلی وجود ندارد. شاید به دلیل وجود فاصله (space) اطراف '=' باشد. می توانید این مورد را امتحان کنید.

در هر صورت مقدار اولیه متغیر question1 چیزی غیر از کاراکترهای y,n ,Y,N می باشد که بدون اشکال اجرا می شود.

خوشحالم که مشکلتان حل شد. قرار دادن [کلمه حل شد] در عنوان تاپیک را فراموش نکنید.

موفق باشید.

آفلاین moslem.b

  • High Sr. Member
  • *
  • ارسال: 590
  • جنسیت : پسر
پاسخ به: راهنمایی برای نوشتن یه اسکریپت
« پاسخ #6 : 23 آبان 1389، 10:49 ب‌ظ »
مرسی از کمکتون
(\__/)
(='.'=)
(")_(")