ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

خواندن - خواندن مقادیر از ورودی استاندارد

La خواندن دستور داخلی برای خواندن یک خط ورودی استاندارد استفاده می شود. از این دستور می‌توان برای خواندن ورودی صفحه‌کلید یا در صورت استفاده از تغییر مسیر، خطی از داده‌ها از یک فایل استفاده کرد. دستور دارای نحو زیر است:

خواندن [-گزینه های] [متغیر...]

جایی که گزینه های یک یا چند مورد از گزینه های موجود در زیر است و متغیر نام یک یا چند متغیر است که برای نگهداری مقدار ورودی استفاده می شود. اگر نام متغیری ارائه نشده باشد، متغیر پوسته است پاسخ شامل خط داده است.

اساسا، خواندن فیلدهایی را از ورودی استاندارد به متغیرهای مشخص شده اختصاص می دهد. اگر اسکریپت ارزیابی عدد صحیح خود را برای استفاده تغییر دهیم خواندن، ممکن است به شکل زیر باشد:


#! / bin / bash


# read-integer: ارزش یک عدد صحیح را ارزیابی کنید.


echo -n "لطفا یک عدد صحیح وارد کنید -> " خواندن int


اگر [[ "$int" =~ ^-?[0-9]+$ ]]; سپس اگر [ $int -eq 0 ]; سپس

echo "$int صفر است."

دیگر

اگر [ $int -lt 0 ]; سپس

echo "$int منفی است."

دیگر

echo "$int مثبت است."

fi

اگر [ $((int % 2)) -eq 0 ]; سپس "$int است زوج است."

دیگر

echo "$int عجیب است."

fi

فی دیگری

echo "مقدار ورودی یک عدد صحیح نیست." >&2 خروج 1

fi

#! / bin / bash


# read-integer: ارزش یک عدد صحیح را ارزیابی کنید.


echo -n "لطفا یک عدد صحیح وارد کنید -> " خواندن int


اگر [[ "$int" =~ ^-?[0-9]+$ ]]; سپس اگر [ $int -eq 0 ]; سپس

echo "$int صفر است."

دیگر

اگر [ $int -lt 0 ]; سپس

echo "$int منفی است."

دیگر

echo "$int مثبت است."

fi

اگر [ $((int % 2)) -eq 0 ]; سپس "$int است زوج است."

دیگر

echo "$int عجیب است."

fi

فی دیگری

echo "مقدار ورودی یک عدد صحیح نیست." >&2 خروج 1

fi


استفاده می کنیم از دست با -n گزینه (که خط جدید آخر را در خروجی سرکوب می کند) برای نمایش یک اعلان و سپس استفاده از خواندن برای وارد کردن یک مقدار برای متغیر INT. اجرای این اسکریپت به این نتیجه می رسد:


[me@linuxbox ~]$ خواندن - عدد صحیح

لطفا یک عدد صحیح وارد کنید -> 5

5 مثبت است.

5 فرد است.

[me@linuxbox ~]$ خواندن - عدد صحیح

لطفا یک عدد صحیح وارد کنید -> 5

5 مثبت است.

5 فرد است.


همانطور که در این اسکریپت نشان داده شده است read می تواند ورودی را به چندین متغیر اختصاص دهد:


#! / bin / bash

# read-multiple: خواندن چندین مقدار از صفحه کلید echo -n "یک یا چند مقدار را وارد کنید >"

var1 var2 var3 var4 var5 را بخوانید


echo "var1 = '$var1'" echo "var2 = '$var2'" echo "var3 = '$var3'" echo "var4 = '$var4'" echo "var5 = '$var5'"

#! / bin / bash

# read-multiple: خواندن چندین مقدار از صفحه کلید echo -n "یک یا چند مقدار را وارد کنید >"

var1 var2 var3 var4 var5 را بخوانید


echo "var1 = '$var1'" echo "var2 = '$var2'" echo "var3 = '$var3'" echo "var4 = '$var4'" echo "var5 = '$var5'"


در این اسکریپت حداکثر پنج مقدار را اختصاص داده و نمایش می دهیم. توجه کنید که چگونه خواندن زمانی رفتار می کند که مقادیر متفاوتی به آنها داده شود:



[me@linuxbox ~]$ خواندن چندگانه

یک یا چند مقدار را وارد کنید > abcde

var1 = 'a' var2 = 'b' var3 = 'c' var4 = 'd' var5 = 'e'

[me@linuxbox ~]$ خواندن چندگانه یک یا چند مقدار را وارد کنید > a var1 = 'a'

var2 = '' var3 = '' var4 = '' var5 = ''

[me@linuxbox ~]$ خواندن چندگانه

یک یا چند مقدار را وارد کنید > abcdefg

var1 = 'a' var2 = 'b' var3 = 'c' var4 = 'd' var5 = 'efg'

[me@linuxbox ~]$ خواندن چندگانه

یک یا چند مقدار را وارد کنید > abcde

var1 = 'a' var2 = 'b' var3 = 'c' var4 = 'd' var5 = 'e'

[me@linuxbox ~]$ خواندن چندگانه یک یا چند مقدار را وارد کنید > a var1 = 'a'

var2 = '' var3 = '' var4 = '' var5 = ''

[me@linuxbox ~]$ خواندن چندگانه

یک یا چند مقدار را وارد کنید > abcdefg

var1 = 'a' var2 = 'b' var3 = 'c' var4 = 'd' var5 = 'efg'


If خواندن کمتر از مقدار مورد انتظار دریافت می کند، متغیرهای اضافی خالی هستند، در حالی که مقدار بیش از حد ورودی باعث می شود که متغیر نهایی حاوی تمام ورودی های اضافی باشد.

اگر هیچ متغیری بعد از لیست فهرست نشده باشد خواندن دستور، یک متغیر پوسته، پاسخ، به تمام ورودی ها اختصاص داده می شود:



#! / bin / bash

# read-single: خواندن چندین مقدار در متغیر پیش‌فرض echo -n "یک یا چند مقدار را وارد کنید >"

خواندن


echo "REPLY = '$REPLY'"

#! / bin / bash

# read-single: خواندن چندین مقدار در متغیر پیش‌فرض echo -n "یک یا چند مقدار را وارد کنید >"

خواندن


echo "REPLY = '$REPLY'"


اجرای این اسکریپت به این نتیجه می رسد:



[me@linuxbox ~]$ خواندن-تک

یک یا چند مقدار را وارد کنید > آ ب پ ت

پاسخ = 'abcd'

[me@linuxbox ~]$ خواندن-تک

یک یا چند مقدار را وارد کنید > آ ب پ ت

پاسخ = 'abcd'


 

برترین سیستم عامل Cloud Computing در OnWorks: