เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | เนื้อหา | ถัดไป>

อ่าน – อ่านค่าจากอินพุตมาตรฐาน

พื้นที่ อ่าน คำสั่ง buildin ใช้เพื่ออ่านอินพุตมาตรฐานบรรทัดเดียว คำสั่งนี้สามารถใช้เพื่ออ่านอินพุตของคีย์บอร์ด หรือเมื่อมีการใช้การเปลี่ยนเส้นทาง บรรทัดของข้อมูลจากไฟล์ คำสั่งมีไวยากรณ์ต่อไปนี้:

อ่าน [-ตัวเลือก] [ตัวแปร... ]

ที่ไหน ตัวเลือก เป็นหนึ่งตัวเลือกขึ้นไปตามรายการด้านล่างและ ตัวแปร เป็นชื่อของตัวแปรตั้งแต่หนึ่งตัวขึ้นไปที่ใช้เก็บค่าอินพุต หากไม่ได้ระบุชื่อตัวแปรไว้ ตัวแปรเชลล์ ตอบ ประกอบด้วยบรรทัดข้อมูล

โดยทั่วไป อ่าน กำหนดฟิลด์จากอินพุตมาตรฐานให้กับตัวแปรที่ระบุ หากเราแก้ไขสคริปต์การประเมินจำนวนเต็มของเราเพื่อใช้ อ่านอาจมีลักษณะดังนี้:


#! / bin / ทุบตี


# read-integer: ประเมินค่าของจำนวนเต็ม


echo -n "โปรดป้อนจำนวนเต็ม -> " read 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

fi อื่น

echo "ค่าที่ป้อนไม่ใช่จำนวนเต็ม" >&2 ทางออก 1

fi

#! / bin / ทุบตี


# read-integer: ประเมินค่าของจำนวนเต็ม


echo -n "โปรดป้อนจำนวนเต็ม -> " read 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

fi อื่น

echo "ค่าที่ป้อนไม่ใช่จำนวนเต็ม" >&2 ทางออก 1

fi


เราใช้ เสียงสะท้อน กับ -n ตัวเลือก (ซึ่งระงับการขึ้นบรรทัดใหม่ต่อท้ายในเอาต์พุต) เพื่อแสดงข้อความแจ้ง แล้วใช้ อ่าน เพื่อป้อนค่าสำหรับตัวแปร int. การเรียกใช้สคริปต์นี้ส่งผลให้:


[me@linuxbox ~]$ อ่านจำนวนเต็ม

กรุณาใส่จำนวนเต็ม -> 5

5 เป็นบวก

5 เป็นเลขคี่

[me@linuxbox ~]$ อ่านจำนวนเต็ม

กรุณาใส่จำนวนเต็ม -> 5

5 เป็นบวก

5 เป็นเลขคี่


read สามารถกำหนดอินพุตให้กับหลายตัวแปร ดังที่แสดงในสคริปต์นี้:


#! / bin / ทุบตี

# 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 / ทุบตี

# 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 / ทุบตี

# read-single: อ่านค่าหลายค่าในตัวแปรเริ่มต้น echo -n "ป้อนค่าอย่างน้อยหนึ่งค่า> "

อ่าน


echo "REPLY = '$ตอบกลับ'"

#! / bin / ทุบตี

# read-single: อ่านค่าหลายค่าในตัวแปรเริ่มต้น echo -n "ป้อนค่าอย่างน้อยหนึ่งค่า> "

อ่าน


echo "REPLY = '$ตอบกลับ'"


การเรียกใช้สคริปต์นี้ส่งผลให้:



[me@linuxbox ~]$ อ่านคนเดียว

ป้อนค่าอย่างน้อยหนึ่งค่า > เอบีซีดี

ตอบกลับ = 'abcd'

[me@linuxbox ~]$ อ่านคนเดียว

ป้อนค่าอย่างน้อยหนึ่งค่า > เอบีซีดี

ตอบกลับ = 'abcd'


 

ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: