Latest article
Home >> Linux >> การวนลูปโดย for บน Linux
การวนลูปโดย for บน Linux

การวนลูปโดย for บน Linux

การวนลูปใน Linux เรามักจะใช้ While หรือ For ในการวนลูป สั่งทำงานต่างๆ  จะช่วยลดงานที่เราต้องทำบ่อยๆไปมากมาย

สำหรับคนที่ใช้ Linux การทำงานซ้ำๆคงไม่ค่อยชอบ ซะเท่าไร จะไปหาอ่านก็เยอะๆ งงๆมากมาย เพราะส่วนใหญ่คนที่เป้นsystem admin จะไม่ค่อยชอบ programming ละมั้งง   ถ้าจะเรียนรู้การใช้ For ผมแนะนำให้จำครับ จำไปใช้บางทีจะง่ายที่สุดครับ  ผมจะอธิบายออกเป็นรูปแบบต่างๆนะครับ

บทความนี้ผมจะพูดถึงแต่ For นะครับ เพื่อที่จะให้เข้าใจ Concept ทั้งหมดของ For จริงๆผมขอแบ่งสิ่งที่ผมจะอธิบายออกเป็น สองส่วนดังนี้

1. โครงสร้างของ For บน Script file และ Command line

2. รูปแบบต่างๆในการวนลูป

  1. list ของข้อมูล
  2. ช่วงของข้อมูล โดยกำหนดจุดเริ่ม ถึงจุดสิ้นสุด
  3. ช่วงของข้อมูล โดยกำหนดจุดเริ่ม ถึงจุดสิ้นสุด โดยเพิ่มทีละX
  4. วนตามข้อมูลตาม คำสั่งอื่นๆ
  5. วนตามข้อมูลตาม เงื่อนไข แบบภาษา C

โครงสร้างของ For บนScript file และ Command line

Script

Command line

ข้อสังเกตุครับ 1. ในรูปแบบของCommandline เฉพาะหลัง Command ใน For เท่านั้นจะมี ; ต่อท้ายครับ 2. หลัง ของ for จะมี ; ต่อถ้ายครับ
ทำไมหลัง do และ done จึงไม่ต้องเพิ่ม ; ในCommandline? เพราะ do และ done คือเป็นการประกาศblockingครับ หรือคล้ายๆ { } ในภาษาตระกูลC นั้นเองครับ 

 

รูปแบบต่างๆในการวนลูป

1. list ของข้อมูล เช่น วนลูป โดยมีค่า 2 5 10

รูปแบบ: ตัวแปร in listของข้อมูลที่ใช้เว้นวรรคในการแบ่ง

Output:
2
5
10

2. ช่วงของข้อมูล โดยกำหนดจุดเริ่ม ถึงจุดสิ้นสุด เช่น วนลูป ตั้งแต่ 5 ถึง 10

รูปแบบ: ตัวแปร in {start..end}

Output:
5
6
7
8
9
10

3. ช่วงของข้อมูล โดยกำหนดจุดเริ่ม ถึงจุดสิ้นสุด โดยเพิ่มทีละX เช่น วนลูป ตั้งแต่ 5 ถึง 10 โดยเพิ่มทีละ 2

รูปแบบ: ตัวแปร in {start..end..step}

Output:
5
8
10

หมายเหตุ สำหรับ bash 3.xx+ สามารถใช้คำสั่ง seq แทนได้ครับ แต่จะเปลี่ยนจาก start..end..step เป็น start..end..step ครับ

4. วนตามข้อมูลตาม คำสั่งอื่นๆ เช่น วนลูปตามoutput ของ cat /etc/resolv.conf

รูปแบบ1: ตัวแปร in $(………)
รูปแบบ2: ตัวแปร in `………`

Output:
nameserver 203.146.237.222
nameserver 203.146.237.237

5. วนตามข้อมูลตาม เงื่อนไข แบบภาษา C

รูปแบบ1:  (( <ประกาศตัวแปร> ; <เงื่อนไขที่จะให้หยุดลูป> ; <คำสั่งหลังจากการลูปแต่ละครั้ง> ))

Output:
1
2
3
4
5

 

credit: http://www.cyberciti.biz/faq/bash-for-loop/

Incoming search terms:

  • vba mail lotus notes รูปแบบข้อความ
  • command วน ใน linux
  • linux คือ
  • การเขียน shell script for loop
  • ใส่โค้ดในlinux
The following two tabs change content below.
Error: Unable to create directory wp-content/uploads/2018/11. Is its parent directory writable by the server?

Charnsilp Chinprasert

Facebook Iconfacebook like buttonTwitter Icontwitter follow button
Copy Protected by Chetan's WP-Copyprotect.