ภาษาไทย
中文(简体)
中文(繁体)
한국어
日本語
English
Português
Español
Русский
العربية
Indonesia
Deutsch
Français
ภาษาไทย
หน้าแรก
ดาวน์โหลดซอร์สโค้ด
เกี่ยวกับการเขียนโปรแกรม
ทรัพยากรสร้างเว็บไซต์
หนังสือและบทเรียน
บทเรียนออกแบบเว็บ
บทเรียนการเขียนโปรแกรมเครือข่าย
เกมมือถือ
แอปมือถือ
บทความ
หน้าแรก
>
หนังสือสอน
>
การพัฒนาโปรแกรม
คู่มือการเขียนโปรแกรมเชลล์ Linux และ Unix
การพัฒนาโปรแกรม
ไม่มีทรัพยากร
หนังสือเล่มนี้แบ่งออกเป็นห้าส่วน ซึ่งแนะนำทักษะการเขียนโปรแกรมเชลล์ คำสั่ง UNIX ต่างๆ และไวยากรณ์โดยละเอียด และยังเกี่ยวข้องกับการประมวลผลคำภายใต้ UNIX และปัญหาการจัดการระบบจำนวนเล็กน้อย หนังสือเล่มนี้มีเนื้อหาครอบคลุม ข้อความที่กระชับและราบรื่น ทำให้เหมาะสำหรับโปรแกรมเมอร์ของเชลล์ในการเรียนรู้และอ้างอิง
สารบัญ คำนำของผู้แปล ส่วนที่ 1 เชลล์
บทที่ 1 ความปลอดภัยของไฟล์และการอนุญาต 1
1.1 เอกสาร 1
1.2 ประเภทไฟล์ 2
1.3 การอนุญาต 2
1.4 เปลี่ยนบิตการอนุญาต 4
1.4.1 โหมดสัญลักษณ์ 4
1.4.2 ตัวอย่างคำสั่ง chmod 5
1.4.3 โหมดสัมบูรณ์ 5
1.4.4 ตัวอย่างอื่นๆ ของคำสั่ง chmod 6
1.4.5 คุณสามารถเลือกใช้โหมดสัญลักษณ์หรือโหมดสัมบูรณ์ได้ 7
1.5 สารบัญ 7
1.6 ซูด/กีด 7
1.6.1 ทำไมต้องใช้ suid/guid 8
1.6.2 ตัวอย่างการตั้งค่า suid/guid 8
1.7 chown และ chgrp 9
1.7.1 ตัวอย่างที่ 9
1.7.2 chgrp ตัวอย่างที่ 9
1.7.3 ค้นหากลุ่มผู้ใช้ที่คุณเป็นสมาชิก 9
1.7.4 ค้นหาว่าผู้ใช้รายอื่นอยู่ในกลุ่มใด10
1.8มาส์ก 10
1.8.1 วิธีคำนวณค่า Umask 10
1.8.2 ค่า Umask ที่ใช้กันทั่วไปคือ 11
1.9 ลิงค์สัญลักษณ์ 12
1.9.1 การใช้ซอฟต์ลิงก์เพื่อบันทึกรูปภาพหลายรูปในไฟล์ 12
1.9.2 ตัวอย่างลิงค์สัญลักษณ์ที่ 12
1.10 สรุป 13
บทที่ 2 การใช้ find และ xargs 14
2.1 ค้นหาตัวเลือกคำสั่ง 14
2.1.1 การใช้ตัวเลือกชื่อ 15
2.1.2 การใช้ตัวเลือกการอนุญาต 16
2.1.3 ละเว้นไดเร็กทอรี 16
2.1.4 การใช้ตัวเลือกผู้ใช้และ nouser 16
2.1.5 การใช้ตัวเลือกกลุ่มและ nogroup 16
2.1.6 ค้นหาไฟล์ตามเวลาการเปลี่ยนแปลง 17
2.1.7 ค้นหาไฟล์ที่ใหม่กว่าหรือเก่ากว่าไฟล์บางไฟล์ 17
2.1.8 การใช้ตัวเลือกประเภท 17
2.1.9 การใช้ตัวเลือกขนาด 18
2.1.10 การใช้ตัวเลือกความลึก 18
2.1.11 การใช้ตัวเลือกการเมานต์ 18
2.1.12 การใช้ตัวเลือก cpio 18
2.1.13 ใช้ exec หรือ ok เพื่อดำเนินการคำสั่งเชลล์ 19
2.1.14 ตัวอย่างที่ 20 ของคำสั่ง find
2.2 xargs 20
2.3 สรุป 21
บทที่ 3 การดำเนินการคำสั่งในเบื้องหลัง 22
3.1 cron และ crontab 22
3.1.1 โดเมน crontab 22
3.1.2 ตัวอย่างของรายการ crontab 23
3.1.3 ตัวเลือกคำสั่ง crontab 23
3.1.4 สร้างไฟล์ crontab ใหม่ 24
3.1.5 รายการไฟล์ crontab 24
3.1.6 แก้ไขไฟล์ crontab 24
3.1.7 ลบไฟล์ crontab 25
3.1.8 กู้คืนไฟล์ crontab ที่สูญหาย 25
3.2 ที่คำสั่ง 25
3.2.1 ใช้คำสั่ง at เพื่อส่งคำสั่งหรือสคริปต์ 26
3.2.2 รายการงานที่ส่ง 27
3.2.3 เคลียร์งาน 27
3.3 และคำสั่ง 27
3.3.1 ส่งคำสั่งไปที่พื้นหลัง 28
3.3.2 ใช้คำสั่ง ps เพื่อดูกระบวนการ 28
3.3.3 ฆ่ากระบวนการพื้นหลัง 28
3.4 คำสั่ง nohup 29
3.4.1 ใช้คำสั่ง nohup เพื่อส่งงาน 29
3.4.2 ส่งงานหลายรายการพร้อมกัน 29
3.5 สรุป 30
บทที่ 4 การเปลี่ยนชื่อไฟล์ 31
4.1 การใช้งาน* 31
4.2 ใช้? 32
4.3 การใช้ [...] และ [!...] 32
4.4 สรุป 33
บทที่ 5 อินพุตและเอาต์พุตของเชลล์ 34
5.1 เอคโค 34
5.2 อ่าน 35
5.3 แมว 37
5.4 ไปป์ไลน์ 38
5.5 ที 39
5.6 อินพุต เอาต์พุต และข้อผิดพลาดมาตรฐาน 40
5.6.1 อินพุตมาตรฐาน 40
5.6.2 เอาต์พุตมาตรฐาน 40
5.6.3 ข้อผิดพลาดมาตรฐาน 40
5.7 การเปลี่ยนเส้นทางไฟล์ 40
5.7.1 การเปลี่ยนเส้นทางเอาต์พุตมาตรฐาน 41
5.7.2 การเปลี่ยนเส้นทางอินพุตมาตรฐาน 42
5.7.3 ข้อผิดพลาดมาตรฐานการเปลี่ยนเส้นทาง 42
5.8 การใช้เอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐานร่วมกัน 43
5.9 การรวมเอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐาน 43
5.10 ดำเนินการ 44
5.11 การใช้ตัวอธิบายไฟล์ 44
5.12 สรุป 45
บทที่ 6 ลำดับการดำเนินการคำสั่ง 46
6.1 การใช้ && 46
6.2 ใช้ ||. 46
6.3 ใช้ () และ { } เพื่อรวมคำสั่ง 47
6.4 สรุป 48
ส่วนที่ 2 การกรองข้อความ บทที่ 7 ความรู้เบื้องต้นเกี่ยวกับนิพจน์ทั่วไป 49
7.1 การใช้จุดเพื่อจับคู่อักขระเดี่ยว 50
7.2 จับคู่สตริงหรือลำดับอักขระด้วย ^ ที่จุดเริ่มต้นของบรรทัด 50
7.3 จับคู่สตริงหรืออักขระ 51 กับ $ ที่ท้ายบรรทัด
7.4 ใช้ * เพื่อจับคู่อักขระตัวเดียวหรือลำดับที่ซ้ำกันในสตริง 51
7.5 ใช้ เพื่อปกปิดความหมายของอักขระพิเศษ 52
7.6 ใช้ [] เพื่อจับคู่ช่วงหรือ set52
7.7 ใช้ {} เพื่อจับคู่จำนวนครั้งที่ผลลัพธ์รูปแบบปรากฏ 53
7.8 สรุป 55
บทที่ 8 ตระกูล grep 56
8.1 กรีก 57
8.1.1 เครื่องหมายคำพูดคู่ 57
8.1.2 ตัวเลือก grep 57
8.1.3 ค้นหาหลายไฟล์ 57
8.1.4 ไลน์แมตช์ 57
8.1.5 จำนวนบรรทัด 58
8.1.6 การแสดงบรรทัดที่ไม่ตรงกัน 58
8.1.7 ตรงทั้งหมด 58
8.1.8 ความไวของตัวพิมพ์เล็กและใหญ่58
8.2 grep และนิพจน์ทั่วไป 58
8.2.1 ช่วงโหมด 59
8.2.2 ไม่ตรงกับจุดเริ่มต้นของบรรทัดที่ 59
8.2.3 ชุดเคส 59
8.2.4 จับคู่อักขระใดก็ได้ 59
8.2.5 แบบสอบถามวันที่ 59
8.2.6 การรวมช่วง 60
8.2.7 ความน่าจะเป็นลักษณะที่ปรากฏของรูปแบบ 60
8.2.8 ใช้ grep เพื่อจับคู่รูปแบบ “AND” หรือ “OR” 61
8.2.9 บรรทัดว่าง 61
8.2.10 จับคู่อักขระพิเศษ 61
8.2.11 ชื่อไฟล์ที่จัดรูปแบบแบบสอบถาม 61
8.2.12 สอบถามที่อยู่ IP 61
8.3 ชื่อชั้น 62
8.4 คำสั่งระบบ grep 62
8.4.1 สารบัญ 63
8.4.2 ไฟล์รหัสผ่าน 63
8.4.3 การใช้คำสั่ง ps 63
8.4.4 การใช้ grep 64 กับสตริง
8.5 อีเกรป 64
8.6 สรุป 65
บทที่ 9 ความรู้เบื้องต้นเกี่ยวกับ AWK 66
9.1 การเรียก awk 66
9.2 สคริปต์ awk 67
9.2.1 รูปแบบและการดำเนินการ 67
9.2.2 โดเมนและบันทึก 67
9.2.3 นิพจน์ทั่วไปและการดำเนินการใน awk 70
9.2.4 เมตาอักขระ 70
9.2.5 ตัวดำเนินการตามเงื่อนไข 70
9.2.6 ตัวแปรในตัว awk 73
9.2.7 NF, NR และ FILENAME 74
9.2.8 ตัวดำเนินการ awk 75
9.2.9 ฟังก์ชันสตริงในตัว 78
9.2.10 ลำดับการมาสก์สตริง 80
9.2.11 ฟังก์ชันเอาต์พุต awk printf 81
9.2.12 ตัวดัดแปลง printf 81
9.2.13 อาร์เรย์ awk 86
9.3 สรุป 88
บทที่ 10 ความรู้เบื้องต้นเกี่ยวกับการใช้งาน sed 89
10.1 วิธีอ่านข้อมูลด้วย sed 89
10.2 การโทร sed 89
10.2.1 บันทึกเอาต์พุต sed 90
10.2.2 วิธีใช้ sed เพื่อสืบค้นข้อความในไฟล์ 90
10.2.3 คำสั่งแก้ไข sed พื้นฐาน 90
10.3 sed และนิพจน์ทั่วไป 91
10.4 ตัวอย่างการเขียนโปรแกรม sed พื้นฐาน 91
10.4.1 การใช้ p(rint) เพื่อแสดงบรรทัดที่ 91
10.4.2 ช่วงการพิมพ์ 91
10.4.3 โหมดการพิมพ์ 92
10.4.4 การสืบค้นโดยใช้รูปแบบและหมายเลขบรรทัด 92
10.4.5 การจับคู่เมตาอักขระ 92
10.4.6 การแสดงไฟล์ทั้งหมด 92
10.4.7 ตัวละครใดก็ได้ 92
10.4.8 เส้นแรก 92
10.4.9 บรรทัดสุดท้าย 93
10.4.10 พิมพ์บรรทัดหมายเลข 93
10.4.11 ข้อความเพิ่มเติม 93
10.4.12 สร้างไฟล์สคริปต์ sed 94
10.4.13 การแทรกข้อความ 94
10.4.14 แก้ไขข้อความ 95
10.4.15 ลบข้อความ 96
10.4.16 ข้อความทดแทน 96
10.5 การแก้ไขสตริงโดยใช้การทดแทน 97
10.6 เขียนผลลัพธ์ sed ไปยังไฟล์คำสั่ง 97
10.7 การอ่านข้อความจากไฟล์ 98
10.8 ออก 98 หลังการจับคู่
10.9 การแสดงอักขระควบคุมในไฟล์ 99
10.10 การใช้ระบบ sed 99
10.10.1 การจัดการอักขระควบคุม 99
10.10.2 การประมวลผลข้อความเอาต์พุต 101
10.10.3 ลบหมายเลข 101 ที่ต้นบรรทัด
10.10.4 ข้อความเพิ่มเติม 102
10.10.5 การส่งผ่านค่า 102 จากเชลล์ไปยัง sed
10.10.6 การตั้งค่าตัวแปรเชลล์จากเอาต์พุต sed 102
10.11 คำสั่งบรรทัดเดียวด่วน 102
10.12 สรุป 103
บทที่ 11 การควบรวมกิจการ 104
11.1 เรียงลำดับการใช้งาน 104
11.1.1 ภาพรวม 104
11.1.2 ตัวเลือกการเรียงลำดับ 104
11.1.3 บันทึกเอาต์พุต 105
11.1.4 เรียงลำดับวิธีการเริ่มต้น 105
11.1.5 การเรียงลำดับอ้างอิงถึงโดเมน 105 อย่างไร
11.1.6 ไฟล์นั้นได้รับการจำแนกประเภทแล้วหรือไม่105
11.1.7 การเรียงลำดับพื้นฐาน 106
11.1.8 การผกผันการจำแนกประเภท 106
11.1.9 การจำแนกประเภทตามโดเมนที่กำหนด 106
11.1.10 การจำแนกฟิลด์ตัวเลข 106
11.1.11 การจำแนกเอกลักษณ์ 107
11.1.12 วิธีการเรียงลำดับอื่น ๆ โดยใช้ k 108
11.1.13 การใช้ k สำหรับการเรียงลำดับคีย์การจำแนกประเภท 108
11.1.14 ระบุลำดับการจัดเรียง 108
11.1.15 การใช้งานโพส 108
11.1.16 จำแนกเอาท์พุตโดยใช้ส่วนหัวและส่วนท้าย 109
11.1.17 awk ใช้ sort เพื่อส่งออกผลลัพธ์ 109
11.1.18 รวมสองไฟล์การจำแนกประเภท 110
11.2 ระบบเรียงลำดับ 110
11.3 การใช้งานที่ไม่ซ้ำใคร 111
11.4 เข้าร่วมการใช้งาน 112
11.5 ตัดการใช้งาน 114
11.5.1 การใช้ตัวแยกโดเมน 115
11.5.2 ตัดช่องที่ระบุ 115
11.6 วางการใช้งาน 116
11.6.1 การระบุคอลัมน์ 116
11.6.2 การใช้ตัวคั่นฟิลด์ที่แตกต่างกัน 116
11.6.3 วางคำสั่งไปป์ไลน์อินพุต 117
11.7 การใช้งานแยก 117
11.8 สรุป 118
บทที่ 12 tr การใช้งาน 119
12.1 ประมาณ tr 119
12.1.1 ช่วงอักขระ 119
12.1.2 บันทึกเอาต์พุต 120
12.1.3 การลบอักขระที่ซ้ำกัน 120
12.1.4 ลบบรรทัดว่าง 120
12.1.5 ตัวพิมพ์ใหญ่ถึงตัวพิมพ์เล็ก 121
12.1.6 ตัวพิมพ์เล็กถึงตัวพิมพ์ใหญ่ 121
12.1.7 ลบอักขระที่ระบุ 121
12.1.8 การแปลงอักขระควบคุม 122
12.1.9 การแปลงอย่างรวดเร็ว 122
12.1.10 จับคู่มากกว่าหนึ่งอักขระ 123
12.2 สรุป 123
ส่วนที่ 3 สภาพแวดล้อมในการเข้าสู่ระบบ บทที่ 13 สภาพแวดล้อมในการเข้าสู่ระบบ 125
13.1 /etc/profile 125
13.2 $HOME.profile ของผู้ใช้ 128
13.3 การใช้งานแบบ stty 129
13.4 สร้างไฟล์ .logout 131
13.5 สรุป 131
บทที่ 14 สภาพแวดล้อมและตัวแปรเชลล์ 132
14.1 ตัวแปรเชลล์คืออะไร132
14.2 ตัวแปรท้องถิ่น 132
14.2.1 ตัวแปรการแสดงผล 133
14.2.2 ล้างตัวแปร 133
14.2.3 แสดงตัวแปรเชลล์ภายในเครื่องทั้งหมด 133
14.2.4 การรวมค่าตัวแปร 134
14.2.5 การทดสอบว่ามีการตั้งค่าตัวแปร 134 หรือไม่
14.2.6 ใช้ตัวแปรเพื่อบันทึกพารามิเตอร์คำสั่งระบบ 135
14.2.7 การตั้งค่าตัวแปรอ่านอย่างเดียว 135
14.3 ตัวแปรสภาพแวดล้อม 136
14.3.1 การตั้งค่าตัวแปรสภาพแวดล้อม 136
14.3.2 แสดงตัวแปรสภาพแวดล้อม 136
14.3.3 ล้างตัวแปรสภาพแวดล้อม 137
14.3.4 การฝังตัวแปรเชลล์ 137
14.3.5 ตัวแปรสภาพแวดล้อมอื่น ๆ 139
14.3.6 ตั้งค่าคำสั่ง 140
14.3.7 การส่งออกตัวแปรไปยังกระบวนการลูก 140
14.4 พารามิเตอร์ตัวแปรตำแหน่ง 141
14.4.1 การใช้พารามิเตอร์ตำแหน่งในสคริปต์ 142
14.4.2 การส่งผ่านพารามิเตอร์ไปยังคำสั่งระบบ 142
14.4.3 พารามิเตอร์ตัวแปรเฉพาะ 143
14.4.4 สถานะทางออกสุดท้าย 144
14.5 สรุป 145
บทที่ 15 คำคม 146
15.1 ความจำเป็นในการอ้างอิง 146
15.2 เครื่องหมายคำพูดคู่ 146
15.3 คำพูดเดี่ยว 147
15.4 แบคทิคส์147
15.5 แบ็กสแลช 148
15.6 สรุป 149
ส่วนที่ 4 การเขียนโปรแกรมเชลล์ขั้นพื้นฐาน บทที่ 16 บทนำเกี่ยวกับเชลล์สคริปต์ 151
16.1 เหตุผลในการใช้เชลล์สคริปต์ 151
16.2 เนื้อหาสคริปต์ 151
16.3 การรันสคริปต์ 152
16.4 สรุป 153
บทที่ 17 การทดสอบตามเงื่อนไข 154
17.1 สถานะไฟล์ทดสอบ 154
17.2 การใช้ตัวดำเนินการเชิงตรรกะเมื่อทดสอบ 155
17.3 การทดสอบสตริง 155
17.4 ค่าทดสอบ 156
17.5 การใช้งาน 157
17.5.1 การนับที่เพิ่มขึ้น 158
17.5.2 การทดสอบเชิงตัวเลข 158
17.5.3 การจับคู่รูปแบบ 158
17.6 สรุป 159
บทที่ 18 โครงสร้างการไหลควบคุม 160
18.1 สถานะทางออก 160
18.2 โครงสร้างการควบคุม 160
18.2.1 การควบคุมการไหล 161
18.2.2 ลูป 161
18.3 ถ้าเป็นเช่นนั้นคำสั่ง 161
18.3.1 คำสั่ง if แบบง่าย 162
18.3.2 การทดสอบค่าตัวแปร 162
18.3.3 การตรวจสอบเอาต์พุต grep 163
18.3.4 การทดสอบเอาต์พุต grep ด้วยตัวแปร 163
18.3.5 ตรวจสอบเอาต์พุตการคัดลอกไฟล์ 164
18.3.6 การทดสอบไดเรกทอรีปัจจุบัน 164
18.3.7 การทดสอบการอนุญาตไฟล์ 165
18.3.8 พารามิเตอร์การทดสอบส่งผ่านไปยังสคริปต์ 165
18.3.9 การพิจารณาว่าสคริปต์อยู่ในโหมดโต้ตอบหรือไม่ 165
18.3.10 คำสั่ง if else แบบง่าย 166
18.3.11 การทดสอบการตั้งค่าตัวแปร 166
18.3.12 การตรวจจับผู้ใช้ที่รันสคริปต์ 166
18.3.13 ส่งพารามิเตอร์สคริปต์ไปยังคำสั่งระบบ 167
18.3.14 null: การใช้คำสั่ง 167
18.3.15 ทดสอบผลลัพธ์การสร้างไดเร็กทอรี 168
18.3.16 สำเนาอื่นอินสแตนซ์ 169
18.3.17 หลายคำสั่ง if 169
18.3.18 การทดสอบและการตั้งค่าตัวแปรสภาพแวดล้อม 169
18.3.19 การตรวจจับสถานะคำสั่งสุดท้าย 170
18.3.20 การบวกและตรวจสอบค่าจำนวนเต็ม 171
18.3.21 สคริปต์เข้าสู่ระบบที่ปลอดภัยอย่างง่าย 172
18.3.22 การใช้งานเอลฟ์ 173
18.3.23 การใช้ elif สำหรับการตรวจจับหลายเงื่อนไข 173
18.3.24 การตรวจจับตำแหน่งไฟล์หลายไฟล์ 174
18.4 คำชี้แจงกรณี 175
18.4.1 คำชี้แจงกรณีธรรมดา 175
18.4.2 การใช้รูปแบบการจับคู่ |. 176
18.4.3 ให้พิมพ์ y หรือ n 177
18.4.4 กรณีและพารามิเตอร์คำสั่งผ่าน 177
18.4.5 การจับอินพุตและดำเนินการคำสั่งว่าง 178
18.4.6 ค่าตัวแปรเริ่มต้น 179
18.5 สำหรับวง 180
18.5.1 แบบง่ายสำหรับลูป 181
18.5.2 การพิมพ์รายการสตริง 181
18.5.3 การใช้คำสั่ง ls กับ for loop 181
18.5.4 การใช้พารามิเตอร์สำหรับลูป 182
18.5.5 การใช้ for loop เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ 183
18.5.6 การใช้ for loop เพื่อสำรองไฟล์ 183
18.5.7 การแปลงไฟล์หลายไฟล์ 183
18.5.8 การดำเนินการลบ sed หลายรายการ 184
18.5.9 จำนวนลูป 184
18.5.10 สำหรับลูปและเอกสารในเครื่อง 184
18.5.11 สำหรับการฝังลูป 185
18.6 ถึงวงที่ 186
18.6.1 ง่ายจนถึงวง 186
18.6.2 การตรวจสอบไฟล์ 187
18.6.3 การตรวจสอบพื้นที่ดิสก์ 187
18.7 ในขณะที่วนรอบ 188
18.7.1 ง่ายในขณะที่วนซ้ำ 188
18.7.2 ใช้ while วนซ้ำเพื่ออ่านอินพุตคีย์บอร์ด 188
18.7.3 การอ่านข้อมูลจากไฟล์โดยใช้ while loop 189
18.7.4 การอ่านไฟล์โดยใช้ IFS 189
18.7.5 การประมวลผลไฟล์โดยมีเงื่อนไขการทดสอบ 190
18.7.6 การสแกนบรรทัดไฟล์นับ 191
18.7.7 การอ่านบันทึกคู่พร้อมกัน 193
18.7.8 ละเว้นอักขระ # 193
18.7.9 การประมวลผลรายงานที่จัดรูปแบบ 194
18.7.10 ในขณะที่ลูปและตัวอธิบายไฟล์ 196
18.8 การใช้ตัวแบ่งและควบคุมลูปต่อไป 197
18.8.1 พัก 197
18.8.2 กระโดดออกจากคำสั่ง case 197
18.8.3 ต่อ 197
18.8.4 เรียกดูบรรทัดไฟล์ 198
18.9 เมนู 199
18.10 สรุป 201
บทที่ 19 ฟังก์ชั่นเชลล์ 202
19.1 การกำหนดฟังก์ชันในสคริปต์ 203
19.2 การใช้ฟังก์ชันในสคริปต์ 203
19.3 การส่งผ่านพารามิเตอร์ไปยังฟังก์ชัน 203
19.4 การส่งคืน 203 จากฟังก์ชันการโทร
19.5 การทดสอบค่าส่งคืนฟังก์ชัน 204
19.6 การใช้ฟังก์ชั่นในเชลล์ 204
19.7 การสร้างไฟล์ฟังก์ชัน 204
19.8 การค้นหาไฟล์ 205
19.9 การตรวจสอบฟังก์ชันการโหลด 205
19.10 การดำเนินการฟังก์ชันเชลล์ 205
19.10.1 ลบฟังก์ชันเชลล์ 206
19.10.2 การแก้ไขฟังก์ชันเชลล์ 206
19.10.3 ตัวอย่างฟังก์ชัน 207
19.10.4 การจัดกลุ่มฟังก์ชันเข้าด้วยกัน 219
19.11 การเรียกฟังก์ชัน 219
19.11.1 การเรียกใช้ฟังก์ชันในสคริปต์ 219
19.11.2 การเรียกใช้ฟังก์ชันจากไฟล์ฟังก์ชัน 220
19.12 การค้นหาไฟล์ไม่ได้มีไว้สำหรับฟังก์ชัน 222 เท่านั้น
19.13 สรุป 223
บทที่ 20 การส่งผ่านพารามิเตอร์ไปยังสคริปต์ 224
20.1 คำสั่งกะ 225
20.1.1 การใช้งานคำสั่ง shift 225 อย่างง่าย
20.1.2 พารามิเตอร์สุดท้ายที่ป้อนในบรรทัดคำสั่ง 225
20.1.3 การใช้ shift เพื่อประมวลผลการแปลงไฟล์ 226
20.2 รับ 229
20.2.1 ตัวอย่างสคริปต์ getopts 229
20.2.2 วิธีใช้ getopts 231
20.2.3 ใช้ getopts เพื่อระบุค่าตัวแปร 231
20.2.4 วิธีการเข้าถึงค่า 232
20.2.5 การใช้ getopts เพื่อจัดการการแปลงไฟล์ 233
20.3 สรุป 235
บทที่ 21 การสร้างเอาท์พุตหน้าจอ 236
21.1 การใช้งาน tput 236
21.1.1 เอาต์พุตสตริง 236
21.1.2 เอาต์พุตดิจิตอล 237
21.1.3 เอาต์พุตบูลีน 237
21.2 การใช้งาน tput 237
21.2.1 การตั้งค่าคำสั่ง tput 237
21.2.2 การใช้เอาต์พุตบูลีน 237
21.2.3 การใช้ tput ในสคริปต์ 237
21.2.4 การสร้างลำดับการหลีกเลี่ยง 238
21.2.5 ตำแหน่งเคอร์เซอร์ 239
21.2.6 การแสดงข้อความตรงกลางหน้าจอ 240
21.2.7 ค้นหาคุณลักษณะเทอร์มินัล 240
21.2.8 การใช้ปุ่มฟังก์ชั่นในสคริปต์ 241
21.2.9 การใช้สี 242
21.2.10 การสร้างสี 243
21.2.11 สร้างสรรค์เมนูสุดวิจิตร 246
21.3 สรุป 251
บทที่ 22 การสร้างอินพุตหน้าจอ 252
22.1 เพิ่มบันทึก 252
22.2 ลบบันทึก 262
22.3 บันทึกการแก้ไข 266
22.4 ดูบันทึก 270
22.5 สรุป 273
บทที่ 23 สคริปต์การดีบัก 274
23.1 ข้อผิดพลาดทั่วไป 274
23.1.1 ข้อผิดพลาดลูป 274
23.1.2 เครื่องหมายคำพูดที่หายไปโดยทั่วไป 274
23.1.3 ข้อผิดพลาดในการทดสอบ 274
23.1.4 ตัวอักษรตัวพิมพ์ 275
23.1.5 สำหรับลูป 275
23.1.6 เอคโค 275
23.2 ตั้งค่าคำสั่ง 275
23.3 สรุป 276
บทที่ 24 คำสั่งการฝังเชลล์ 277
24.1 รายการคำสั่งเชลล์ฝังตัวทั้งหมด 277
24.1.1 หน้า 277
24.1.2 ชุด 278
24.1.3 คูณ 278
24.1.4 ประเภท 278
24.1.5 ยูลิมิต 279
24.1.6 รอ 279
24.2 สรุป 279
ส่วนที่ 5 เทคนิคการเขียนโปรแกรมเชลล์ขั้นสูง บทที่ 25 การสนทนาเชิงลึก
ขยาย
ข้อมูลเพิ่มเติม
เวอร์ชัน
ประเภท
การพัฒนาโปรแกรม
เวลาอัปเดต
2009-06-03
ขนาด
15280128
ภาษา
ภาษาจีนตัวย่อ
เวอร์ชันที่เกี่ยวข้อง
ไบนารีลินุกซ์
2024-11-10
เคอร์เนลระบบปฏิบัติการ Linux
2009-06-29
เซิร์ฟเวอร์ Apache การกำหนดค่า Linux
2009-06-15
คู่มือผู้ดูแลระบบเครือข่าย Linux
2009-06-15
บทช่วยสอนการฝึกปฏิบัติจริงของ Linux
2009-06-15
ชุดคำสั่ง Linux ที่สมบูรณ์
2009-06-14
แนะนำสำหรับคุณ
กูเกิลโครม
การเรียกดูหน้าแรก
3.0.190.0 build 18892 绿色多语版_Google Chrome浏览器
กูเกิลโครม
การเรียกดูหน้าแรก
3.0.182.3 Dev 多国语言官方安装版
กูเกิลโครม
การเรียกดูหน้าแรก
3.0.182.3 Dev 多国语言绿色便携版
ข้อมูลเบื้องต้นโดยละเอียดเกี่ยวกับรูปแบบไฟล์ KML
บทช่วยสอน XML
เอกสารวิธีใช้เวอร์ชันภาษาจีน JDK 6.0 (พร้อมฟังก์ชันการค้นหา รูปแบบ chm)
การสอน JSP
โปรแกรมดักจับวิดีโอและส่งออนไลน์ในรูปแบบ MPEG4
วีซี/วีซี++
คู่มือ PHP เวอร์ชันภาษาจีน (รูปแบบ CHM แบบขยาย)
กวดวิชา PHP
ซอร์สโค้ดการแปลงออนไลน์ของรูปแบบวิดีโอ Flv
หมวดหมู่อื่นๆ
PHP ซอร์สโค้ดโปรแกรมรับสมัครงาน PHP เวอร์ชัน |[BBWPS]
อสังหาริมทรัพย์ที่มีพรสวรรค์
V3.0
ข้อมูลที่เกี่ยวข้อง
ทั้งหมด
Godaddy Deluxe Plan 150G Linux โฮสต์เวอร์ชัน PHP ประสบการณ์การอัพเกรดที่ประสบความสำเร็จ
2011-04-09
Godaddy Deluxe Plan 150G Linux โฮสต์เวอร์ชัน PHP ประสบการณ์การอัพเกรดที่ประสบความสำเร็จ
2011-04-08
คำแนะนำขั้นสูงสุดสำหรับตัวอย่างการดาวน์โหลด Linux Wget 15 ตัว
2011-03-31
การคืนค่าระบบนั้นเรียบง่ายและแนะนำให้ใช้เครื่องมือการคืนค่าระบบ Linux ที่ใช้กันทั่วไป
2011-01-28
โมดูลระบบไฟล์ ZFS ดั้งเดิมของ Linux จะเปิดตัวในเดือนหน้า
2010-08-31
เคล็ดลับสี่ประการในการกำหนดค่าการเข้าถึงเซิร์ฟเวอร์ Linux อย่างปลอดภัยของ SSH
2010-04-29
คำอธิบายโดยละเอียดเกี่ยวกับอุปสรรคสำคัญ 7 ประการในการเปลี่ยนจาก Windows เป็น Linux
2010-03-05
Linux kernel 2.6.32.9 เปิดตัวเพื่อแก้ไขข้อบกพร่องมากกว่า 90 รายการ
2010-02-25
แอปพลิเคชัน Linux รวมทักษะการเข้าถึงฐานข้อมูล MySQL
2010-01-12
คำอธิบายโดยละเอียดเกี่ยวกับการใช้พาร์ติชัน Windows ในระบบปฏิบัติการ Linux
2009-12-24
คู่มือการติดตั้งและกำหนดค่า Oracle Grid Control 10.2.0.5 สำหรับ Linux
2009-12-02
เคล็ดลับ: การซิงโครไนซ์ Linux rsync จากแบบแมนนวลไปเป็นแบบอัตโนมัติ
2009-11-28
ความคิดเห็นจากผู้ใช้