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

โลโก้

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

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

ดำเนินการหลายอย่าง

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



#! / bin / ทุบตี


# case4-1: ทดสอบตัวละคร


read -n 1 -p "พิมพ์ตัวอักษร > " echo

กรณี $REPLY ใน

[[:upper:]]) echo "'$REPLY' เป็นตัวพิมพ์ใหญ่" ;;

[[:lower:]]) echo "'$REPLY' เป็นตัวพิมพ์เล็ก" ;;

[[:alpha:]]) echo "'$REPLY' เป็นตัวอักษร" ;;

[[:digit:]]) echo "'$REPLY' เป็นตัวเลข" ;; [[:graph:]]) echo "'$REPLY' เป็นอักขระที่มองเห็นได้" ;;

[[:punct:]]) echo "'$REPLY' เป็นเครื่องหมายวรรคตอน" ;; [[:space:]]) echo "'$REPLY' เป็นอักขระช่องว่าง" ;; [[:xdigit:]]) echo "'$REPLY' เป็นเลขฐานสิบหก" ;;

ว่า C

#! / bin / ทุบตี


# case4-1: ทดสอบตัวละคร


read -n 1 -p "พิมพ์ตัวอักษร > " echo

กรณี $REPLY ใน

[[:upper:]]) echo "'$REPLY' เป็นตัวพิมพ์ใหญ่" ;;

[[:lower:]]) echo "'$REPLY' เป็นตัวพิมพ์เล็ก" ;;

[[:alpha:]]) echo "'$REPLY' เป็นตัวอักษร" ;;

[[:digit:]]) echo "'$REPLY' เป็นตัวเลข" ;; [[:graph:]]) echo "'$REPLY' เป็นอักขระที่มองเห็นได้" ;;

[[:punct:]]) echo "'$REPLY' เป็นเครื่องหมายวรรคตอน" ;; [[:space:]]) echo "'$REPLY' เป็นอักขระช่องว่าง" ;; [[:xdigit:]]) echo "'$REPLY' เป็นเลขฐานสิบหก" ;;

ว่า C


การรันสคริปต์นี้ทำให้เกิดสิ่งนี้:



[me@linuxbox ~]$ กรณีที่ 4-1

พิมพ์ตัวอักษร > a

'a' เป็นตัวพิมพ์เล็ก

[me@linuxbox ~]$ กรณีที่ 4-1

พิมพ์ตัวอักษร > a

'a' เป็นตัวพิมพ์เล็ก


สคริปต์ทำงานเป็นส่วนใหญ่ แต่จะล้มเหลวหากอักขระตรงกับคลาสอักขระ POSIX มากกว่าหนึ่งคลาส ตัวอย่างเช่น อักขระ "a" เป็นทั้งตัวพิมพ์เล็กและตัวอักษร รวมทั้งเลขฐานสิบหก ใน ทุบตี ก่อนเวอร์ชัน 4.0 ไม่มีทาง กรณี เพื่อให้ตรงกับการทดสอบมากกว่าหนึ่งรายการ เวอร์ชันทันสมัยของ ทุบตี, เพิ่มเครื่องหมาย “;;&” ไปที่


ยุติการกระทำแต่ละอย่าง ตอนนี้เราสามารถทำได้ดังนี้:



#! / bin / ทุบตี


# case4-2: ทดสอบตัวละคร


read -n 1 -p "พิมพ์ตัวอักษร > " echo

กรณี $REPLY ใน

[[:upper:]]) echo "'$REPLY' เป็นตัวพิมพ์ใหญ่" ;;&

[[:lower:]]) echo "'$REPLY' เป็นตัวพิมพ์เล็ก" ;;&

[[:alpha:]]) echo "'$REPLY' เป็นตัวอักษร" ;;&

[[:digit:]]) echo "'$REPLY' เป็นตัวเลข" ;;& [[:graph:]]) echo "'$REPLY' เป็นอักขระที่มองเห็นได้" ;;&

[[:punct:]]) echo "'$REPLY' เป็นเครื่องหมายวรรคตอน" ;;& [[:space:]]) echo "'$REPLY' เป็นอักขระช่องว่าง" ;;& [[:xdigit:]]) echo "'$REPLY' เป็นเลขฐานสิบหก" ;;&

ว่า C

#! / bin / ทุบตี


# case4-2: ทดสอบตัวละคร


read -n 1 -p "พิมพ์ตัวอักษร > " echo

กรณี $REPLY ใน

[[:upper:]]) echo "'$REPLY' เป็นตัวพิมพ์ใหญ่" ;;&

[[:lower:]]) echo "'$REPLY' เป็นตัวพิมพ์เล็ก" ;;&

[[:alpha:]]) echo "'$REPLY' เป็นตัวอักษร" ;;&

[[:digit:]]) echo "'$REPLY' เป็นตัวเลข" ;;& [[:graph:]]) echo "'$REPLY' เป็นอักขระที่มองเห็นได้" ;;&

[[:punct:]]) echo "'$REPLY' เป็นเครื่องหมายวรรคตอน" ;;& [[:space:]]) echo "'$REPLY' เป็นอักขระช่องว่าง" ;;& [[:xdigit:]]) echo "'$REPLY' เป็นเลขฐานสิบหก" ;;&

ว่า C


เมื่อเราเรียกใช้สคริปต์นี้ เราได้รับสิ่งนี้:



[me@linuxbox ~]$ กรณีที่ 4-2

พิมพ์ตัวอักษร > a 'a' เป็นตัวพิมพ์เล็ก 'a' เป็นตัวอักษร

'a' เป็นอักขระที่มองเห็นได้ 'a' เป็นเลขฐานสิบหก

[me@linuxbox ~]$ กรณีที่ 4-2

พิมพ์ตัวอักษร > a 'a' เป็นตัวพิมพ์เล็ก 'a' เป็นตัวอักษร

'a' เป็นอักขระที่มองเห็นได้ 'a' เป็นเลขฐานสิบหก


การเพิ่มไวยากรณ์ ";;&" ทำให้ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่สามารถดำเนินการต่อในการทดสอบครั้งต่อไป แทนที่จะยุติเพียง


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