การรู้ command prompts &shell scripts ยังคงมีความจำเป็น หากคุณต้องการได้รับประโยชน์สูงสุดจากระบบ GNU/Linux และยิ่งมีการทำงานที่บรรทัดคำสั่งมากเท่าไร ก็ยิ่งพบว่าคำสั่งส่วนใหญ่ที่ใช้นั้น ชุดย่อยขนาดเล็กของคำสั่งที่ใช้ได้ งานส่วนใหญ่เป็นนิสัย &ผู้ใช้ที่คุณอาจเรียกใช้ในลักษณะนี้ทุกวัน
ในขณะที่ผู้ผลิตยูทิลิตี้คำสั่งทั่วไปจำนวนมากได้พยายามกำจัดการพิมพ์ที่ไม่เกี่ยวข้องโดยใช้ชื่อที่สั้นลงเช่น แทนรายการ เราพิมพ์ “ls ” &แทนที่จะเปลี่ยนไดเร็กทอรี เราพิมพ์ “cd ” นอกจากนี้ ผู้ใช้ Linux จำนวนมากมักต้องใช้คำสั่งเดียวซ้ำแล้วซ้ำอีก การพิมพ์/คัดลอกคำสั่งเดิมซ้ำแล้วซ้ำอีกจะลดประสิทธิภาพการทำงานและทำให้ผู้ใช้เสียสมาธิจากการทำงานจริง
คงจะดีถ้าเราใช้เวลาน้อยลงในการพิมพ์คำสั่งยาวๆ เหล่านั้น เรามีสองวิธีที่มีประสิทธิภาพในการลดเวลาของคุณที่บรรทัดคำสั่งคือ ชื่อแทนเชลล์ และ ฟังก์ชั่น ด้วยการใช้สองสิ่งนี้ ผู้ใช้สามารถเชื่องงานที่ซ้ำซากจำเจ ลดกระบวนการที่มีความยาว และกำหนดค่าคำสั่งที่กำหนดเองด้วยตัวเลือกที่ผู้ใช้ใช้เสมอ &พยายามจดจำ
คุณสามารถกำหนดคำสั่งที่เหมาะกับความต้องการเฉพาะของคุณ และเพื่อแบ่งเบาภาระของงานที่ซ้ำซากจำเจ
นามแฝงและเชลล์สคริปต์ เช่น ฟังก์ชันทำงานในลักษณะเดียวกัน สิ่งเหล่านี้ทำให้คุณสามารถกำหนดและตั้งชื่อชุดของฟังก์ชัน Bash shell ที่สามารถเรียกได้โดยใช้ชื่อที่คุณตั้งไว้ การพิมพ์ชื่อจะง่ายและสะดวกกว่าการพิมพ์ขั้นตอนหรือคำสั่งทุกครั้งที่คุณต้องการใช้
ความแตกต่างระหว่างนามแฝงและฟังก์ชันเป็นหนึ่งในความซับซ้อนและขนาด สคริปท์สามารถเก็บโค้ดที่ยาวและละเอียดกว่าได้ดีกว่า นามแฝงเหมาะอย่างยิ่งสำหรับการถือชุดคำสั่งที่สั้นและกระชับยิ่งขึ้น
ชื่อแทนเชลล์
นามแฝงของเชลล์เป็นช็อตคัทแบบกำหนดเองเพื่ออ้างอิงคำสั่งหรือชุดคำสั่งที่ดำเนินการโดยมีหรือไม่มีตัวเลือกที่กำหนดเอง นามแฝงเหล่านี้เป็นชื่อทางเลือกที่จำง่ายสำหรับคำสั่งแบบยาวที่คุณต้องดำเนินการบ่อยๆ เมื่อคุณพิมพ์ที่บรรทัดคำสั่ง เชลล์จะค้นหาสิ่งที่คุณเขียนในรายการนามแฝงก่อน หากพบรายการที่ตรงกัน นามแฝงนั้นจะถูกแทนที่ด้วยข้อความที่เกี่ยวข้อง หลังจากเสร็จสิ้น มันจะดูที่บรรทัดคำสั่งผลลัพธ์ทั้งหมดอีกครั้ง &ดำเนินการมัน
โอกาสที่คุณอาจใช้นามแฝง .แล้ว บนระบบ Linux เนื่องจากลีนุกซ์ส่วนใหญ่เพิ่มชื่อแทนยอดนิยมอย่างน้อยบางส่วนตามค่าเริ่มต้นใน “.bashrc” ไฟล์ของบัญชีผู้ใช้
นอกเหนือจากนามแฝง:ฟังก์ชันของเชลล์
บล็อกของรหัสที่คล้ายกันแต่ไม่เหมือนกันไม่สามารถแทนที่ด้วยนามแฝง พวกเขาไม่สามารถจัดการกับข้อผิดพลาดหรือส่งคืนรหัสทางออกที่กำหนดเอง ทำการควบคุมโฟลว์ หรือใช้ตัวแปร หากคุณต้องการทำสิ่งเหล่านี้ ก็ถึงเวลาใช้ฟังก์ชันของเชลล์
ฟังก์ชันของเชลล์คือโค้ดบล็อกที่มีโครงสร้างเป็นสคริปต์ย่อยที่สมบูรณ์ เขียนเพียงครั้งเดียวและเรียกใช้จากสคริปต์ใดก็ได้ที่ต้องการ
รูปแบบของนามแฝง:
การสร้างนามแฝงใน bash นั้นตรงไปตรงมามาก ไวยากรณ์มีดังนี้:
alias alias_name=”command_to_run”
เพื่อสร้าง bash alias ใหม่ในเซสชันปัจจุบัน
- พิมพ์ “นามแฝง ”
- จากนั้นก็ประกาศชื่อนามแฝง
- ตามด้วยเครื่องหมายเท่ากับ
- และคำสั่งที่จะรันเมื่อมีการเรียกนามแฝง
คำสั่งต้องอยู่ในเครื่องหมายคำพูด &โดยไม่มีช่องว่างรอบเครื่องหมายเท่ากับ ช่องว่างที่นี่จะทำลายคำสั่ง ต้องประกาศนามแฝงแต่ละรายการในบรรทัดใหม่
ให้เราได้ชี้แจงโดยตัวอย่าง บนบรรทัดคำสั่ง Linux หนึ่งในคำสั่งที่ใช้มากที่สุดคือ “ls ” คำสั่ง “ls” ส่วนใหญ่ใช้กับ “la ” ซึ่งจะแสดงรายการไฟล์และไดเรกทอรีทั้งหมดที่มีไฟล์ที่ซ่อนอยู่ในรูปแบบของรายการแบบยาว ตอนนี้เราจะสร้าง bash alias อย่างง่าย “จะ ” ซึ่งจะเป็นทางลัดไปยัง ls -la คำสั่ง
- เปิดหน้าต่างเทอร์มินัล
- ประเภท:
นามแฝง ll="ls -la"
&กด ป้อน
- ตอนนี้ในคอนโซลพิมพ์ “ll ” และกด ป้อน
- ผลลัพธ์จะเหมือนกับการพิมพ์ ls -la.
นามแฝงที่กำหนดไว้ข้างต้น "ll" จะใช้งานได้เฉพาะในเซสชันเชลล์ปัจจุบันเท่านั้น หากคุณปิดเซสชันหรือหน้าต่างเซสชันใหม่ที่เริ่มต้นจากเทอร์มินัลอื่น นามแฝง "ll" ที่กำหนดไว้ข้างต้นจะไม่สามารถใช้ได้
เราจะหารือกันในภายหลังเกี่ยวกับวิธีการทำให้นามแฝงคงอยู่ ตัวอย่างที่นี่มีไว้สำหรับ bash shell แต่แนวคิดทั้งหมดและโค้ดส่วนใหญ่ใช้ได้กับเชลล์อื่นๆ ด้วย
นามแฝงที่กำหนดไว้ล่วงหน้า
นามแฝงบางตัวถูกกำหนดไว้ล่วงหน้าสำหรับคุณ หากต้องการทราบรายชื่อนามแฝงทั้งหมดที่กำหนดไว้ในระบบ เราจะใช้คำสั่ง “นามแฝง” โดยไม่มีพารามิเตอร์ใดๆ:
นามแฝง
นี่คือนามแฝงบนเครื่องทดสอบ Ubuntu ที่บทความนี้ได้รับการวิจัย นอกจากนี้ ชื่อแทนแบบกำหนดเองใดๆ จะปรากฏขึ้นในรายการนี้ด้วย
มีนามแฝงมากมายสำหรับคำสั่ง ls และมีกลุ่มของนามแฝงที่ให้เอาต์พุตสีแก่กลุ่มคำสั่ง grep เช่น ด้วยนามแฝงที่กำหนดไว้ข้างต้น เมื่อใดก็ตามที่คุณพิมพ์:
grep
จะตีความว่า:
grep --color=auto
ซึ่งแสดงจุดสำคัญด้วยนามแฝง พวกเขาสามารถมีชื่อเดียวกับคำสั่งที่มีอยู่ พวกเขาสามารถมีคำสั่งเดิมอยู่ภายในตัวมันเองได้
นี่คือคำจำกัดความของนามแฝง grep
นามแฝง grep='grep --color=auto'
- คำสั่ง alias ใช้เพื่อกำหนดนามแฝง
- ต่อไปจะตั้งชื่อนามแฝง ในตัวอย่างนี้ มันคือ “grep”
- เครื่องหมายเท่ากับเชื่อมชื่อนามแฝงกับ body ของนามแฝง สำหรับนามแฝงทั่วไปทั้งหมด เนื้อหาของนามแฝงจะอยู่ภายในเครื่องหมายคำพูดเดียว ‘
- เนื้อความของนามแฝงคือส่วนที่ดำเนินการเมื่อใช้นามแฝงในบรรทัดคำสั่ง
- เนื้อความของนามแฝงนี้เพียงแค่เรียกใช้คำสั่ง grep ด้วยตัวเลือก –color=auto
นามแฝงการแจ้งเตือน
ที่ด้านบนของรายชื่อ มีนามแฝงที่ดูซับซ้อนเรียกว่า การแจ้งเตือน . นอกจากนี้ เพื่อให้คุณทราบว่าคำสั่งนี้ทำอะไรได้บ้าง ระบบจะใช้ชื่อแทนการแจ้งเตือนเพื่อแจ้งให้คุณทราบเมื่อคำสั่งเสร็จสิ้น นอกจากนี้ยังระบุว่าคำสั่งเสร็จสมบูรณ์หรือไม่ โดยจะมีการแจ้งเตือนระบบแบบกราฟิกที่ด้านบนของหน้าจอ
นี่เป็นตัวอย่างง่ายๆ คำสั่ง sleep จะเข้าสู่โหมดสลีปเป็นเวลา 5 วินาที จากนั้นระบบจะเรียกชื่อแทนการแจ้งเตือน นามแฝงตรวจสอบการตอบกลับจากคำสั่งก่อนหน้า มันแยกคำสั่งสุดท้ายจากไฟล์ประวัติ กำหนดว่าคำสั่งเสร็จสมบูรณ์หรือไม่ จากนั้นนำเสนอผลลัพธ์ในการแจ้งเตือนระบบ
หากคำสั่งเสร็จสมบูรณ์ตามที่คาดไว้ ไอคอนในการแจ้งเตือนระบบจะเป็นหน้าต่างเทอร์มินัลขนาดเล็ก หากคำสั่งส่งคืนรหัสข้อผิดพลาด ไอคอนในการแจ้งเตือนระบบจะเป็นไอคอนข้อผิดพลาดสีแดง
นอน 5; แจ้งเตือน
หลังจากผ่านไปห้าวินาที เราจะเห็นการแจ้งเตือนของระบบ:
ไอคอนนี้เป็นหน้าต่างเทอร์มินัลขนาดเล็ก ซึ่งหมายความว่าทุกอย่างเป็นไปด้วยดี มาลองอีกครั้งด้วยคำสั่งที่เรารู้ว่าจะล้มเหลว:
DoomedToFail; แจ้งเตือน
การแจ้งเตือนระบบของเราตอนนี้มีไอคอนข้อผิดพลาด
การกำหนดนามแฝงเล็กน้อย
ดังที่เราได้เห็นแล้ว ในการกำหนดนามแฝง เราใช้คำสั่งนามแฝง
เราจะสร้างนามแฝงสำหรับคำสั่งที่ชัดเจน นามแฝงของเราจะถูกเรียกว่า cls และจะเรียกคำสั่ง clear
คำจำกัดความของนามแฝงของเรานั้นเล็กน้อยมากจนไม่รับประกันว่าจะถูกใส่เครื่องหมายอัญประกาศเดี่ยว หากเนื้อความของนามแฝงซับซ้อนกว่านี้ หรือมีช่องว่าง ให้ใส่เครื่องหมายคำพูดเดี่ยว เราจะกำหนดนามแฝง ใช้ ls เพื่อใส่เอาต์พุตในหน้าต่างเทอร์มินัล จากนั้นใช้ cls นามแฝงใหม่เพื่อล้างหน้าจอ
นามแฝง cls=clearls -lcls
หน้าจอถูกล้าง ประสบความสำเร็จแม้ว่าจะอายุสั้น นามแฝงจะคงอยู่ตราบใดที่หน้าต่างเทอร์มินัลนี้ยังคงเปิดอยู่ เมื่อปิดหน้าต่าง นามแฝงจะหายไป
การทำให้นามแฝงถาวรโดยใช้ไฟล์ “.bashrc”
คุณอาจสงสัยว่านามแฝงที่บรรจุไว้ล่วงหน้าถูกกำหนดไว้ที่ใด มันอยู่ในไฟล์ “.bashrc” ในโฟลเดอร์หลักของคุณ ไฟล์นี้ถูกอ่าน และคำสั่งภายในไฟล์จะดำเนินการทุกครั้งที่คุณเริ่มเชลล์แบบโต้ตอบ นั่นคือเมื่อคุณเปิดหน้าต่างเทอร์มินัล
พิมพ์คำสั่งต่อไปนี้ในโฟลเดอร์เริ่มต้นของคุณเพื่อดูเนื้อหาของไฟล์ “.bashrc” พร้อมการเน้นไวยากรณ์
gedit .bashrc
การดำเนินการนี้จะเปิด gedit ตัวแก้ไขที่โหลดไฟล์ “.bashrc” เข้าไป
พื้นที่ที่ไฮไลต์จะแสดงพื้นที่ 2 ส่วนที่มีการกำหนดนามแฝง
การเลื่อนดูเอกสารจะเปิดเผยส่วนอื่นๆ อีก 2 ส่วนที่เกี่ยวข้องกับนามแฝง:
ประการแรกคือคำจำกัดความของชื่อแทนการแจ้งเตือน ประการที่สองคือคำสั่ง if มันแปลว่า “ถ้าไฟล์ “.bash_aliases ” มีอยู่ โปรดอ่านในนั้น”
หากคุณมีนามแฝงเพียงไม่กี่ชื่อที่ต้องการกำหนด คุณอาจใส่ไว้ในไฟล์ “.bashrc” วางไว้ใต้ส่วนที่มีนามแฝง ls
หากคุณกำลังจะสร้างนามแฝงจำนวนมาก หรือคุณแค่ชอบความคิดที่จะรวมนามแฝงของคุณไว้ในไฟล์ของตัวเอง คุณสามารถกำหนดชื่อแทนเหล่านั้นในไฟล์ “.bash_aliases” ของคุณได้ ข้อดีอย่างหนึ่งของการสร้างมันในไฟล์ “.bash_aliases” คือคุณไม่สามารถเปลี่ยนการตั้งค่าใดๆ ในไฟล์ “.bashrc” ได้โดยไม่ได้ตั้งใจ ข้อดีอีกประการหนึ่งคือนามแฝงของคุณจะถูกคัดลอกไปยังระบบใหม่อย่างง่ายดาย เนื่องจากถูกแยกออกจากไฟล์ “.bashrc”
นามแฝงควรตั้งชื่อในลักษณะที่จำง่าย ขอแนะนำให้เพิ่มความคิดเห็นเพื่อใช้อ้างอิงในอนาคต
การจัดเก็บนามแฝงในไฟล์ .bash_aliases
ไฟล์ “.bash_aliases” ไม่มีอยู่โดยค่าเริ่มต้น คุณจะต้องสร้างมันขึ้นมา คุณสามารถสร้างไฟล์ด้วยคำสั่งนี้:
แตะ .bash_aliases
มาแก้ไขไฟล์และเพิ่มนามแฝงสองสามตัวเข้าไป คำสั่งนี้จะเปิดไฟล์ “.bash_aliases” ในตัวแก้ไข gedit
gedit .bash_aliases
เราได้เพิ่มนามแฝงสามชื่อ อย่างแรกคือ cls . ของเรา นามแฝงที่เราใช้ก่อนหน้านี้ ต่อไปเรียกว่า ช. และเป็นวิธีเรียกคำสั่งประวัติศาสตร์แบบชวเลข
นามแฝงที่สามเรียกว่า ftc . ย่อมาจาก “จำนวนประเภทไฟล์”
นามแฝงนี้มีความเกี่ยวข้องมากกว่า ดังนั้นจึงถูกรวมไว้ในเครื่องหมายอัญประกาศเดี่ยว มันใช้สายคำสั่งที่เชื่อมโยงกันด้วยท่อ มันสร้างรายการที่เรียงลำดับของนามสกุลไฟล์และชื่อไดเร็กทอรีต่าง ๆ โดยมีจำนวนรายการแต่ละรายการ
เมื่อเราบันทึกไฟล์ “.bash_aliases” แล้ว เราอาจคาดหวังว่านามแฝงของเราจะใช้งานได้จริงและสามารถเข้าถึงได้ นั่นไม่ใช่กรณี ไฟล์ต้องถูกอ่านโดยเชลล์ Bash ก่อนที่คำจำกัดความนามแฝงจะใช้งานได้ สิ่งนี้จะทำทุกครั้งที่เปิดเชลล์แบบโต้ตอบ
เรายังสามารถใช้ Bash shell ในตัว . เพื่ออ่านและดำเนินการคำสั่งในไฟล์ เนื่องจากไฟล์ “.bash_alias” ของเราจะถูกอ่านเมื่อมีการประมวลผล “.bashrc” เราจึงควรทำการทดสอบโดยการเรียก “.bashrc” ด้วยวิธีนี้ เราจะสามารถตรวจสอบได้ว่าไฟล์ “.bash_alias” นั้นถูกเรียกจาก “.bashrc” และนามแฝงของเรานั้นยังมีชีวิตอยู่และดี
คำสั่งที่เราใช้คือ:
gedit .bash_aliases
วิธีแก้ไขไฟล์ “.bash_aliases”
<ก่อน>. .bashrcสิ่งนี้จะอ่านและดำเนินการคำสั่งภายใน “.bashrc” ซึ่งจะเรียกว่า “.bash_aliases”
ftc
ซึ่งจะเรียกชื่อแทน ftc
นามแฝงของเราตอบกลับ ซึ่งหมายความว่า Bash ได้อ่านทั้งใน “.bashrc” และ “.bash_aliases” และนามแฝงใหม่ของเรากำลังเผยแพร่แล้ว
ตอนนี้คุณสามารถไปข้างหน้าและเพิ่มนามแฝงใหม่ให้กับไฟล์ “.bash_aliases” ตามที่เกิดขึ้นกับคุณ หากคุณพบว่าตัวเองทำสิ่งต่างๆ มากกว่าหนึ่งครั้งหรือสองครั้ง ให้ลองสร้างชื่อแทนมัน
การลบนามแฝง
มีคำสั่งให้ลบนามแฝงเพื่อให้ Bash ไม่รู้จักและไม่ตอบสนอง คำสั่งนี้มีชื่อว่า unalias .
ในการใช้งานให้ตั้งชื่อนามแฝงที่คุณต้องการให้ Bash ลืม หากต้องการให้ Bash ลืมนามแฝง ftc ให้ใช้ unalias เช่น ที่ใช้ก่อนหน้านี้ “จะ ” คำสั่ง:
unalias ll
คุณสามารถใช้ unalias เพื่อลบนามแฝงที่คุณกำหนดไว้และนามแฝงที่กำหนดไว้ล่วงหน้าใดๆ ได้
หากต้องการลบนามแฝงทั้งหมดออกจากระบบ ให้ใช้ตัวเลือก -a (ทั้งหมด):
unalias -a
การสูญเสียหน่วยความจำของ Bash จะไม่ถาวร ครั้งต่อไปที่คุณเปิดหน้าต่างเทอร์มินัล ชื่อแทน "ลืม" จะกลับมา คุณต้องลบออกจากไฟล์ “.bashrc” และ “.bash_alias”
หากคุณคิดว่าคุณอยากจะได้มันกลับมา อย่าลบมันออกจากไฟล์ “.bashrc” ของคุณ ให้แสดงความคิดเห็นโดยเพิ่มแฮช # ที่จุดเริ่มต้นของแต่ละบรรทัดชื่อแทน หากต้องการให้ไฟล์ “.bash_alias” ของคุณใช้งานไม่ได้ ให้เปลี่ยนชื่อไฟล์ หากไฟล์ “.bashrc” ของคุณมองไม่เห็น ไฟล์จะไม่อ่านมัน การย้อนกลับขั้นตอนเหล่านี้เพื่อคืนสถานะให้กับนามแฝงของคุณเป็นเรื่องเล็กน้อย
หากต้องการข้ามนามแฝงชั่วคราว (เช่น เราใช้นามแฝง ls ถึง ls -a) ให้พิมพ์:
\ls
ผลที่ได้คือคำสั่งปกติจะถูกเรียก ไม่ใช่เวอร์ชันนามแฝง
ความช่วยเหลือสำหรับคำสั่งนามแฝง:
- –ตัวเลือกความช่วยเหลือ :แสดงข้อมูลช่วยเหลือ
ไวยากรณ์:
นามแฝง --help
ฟังก์ชันของเชลล์
บางครั้งจำเป็นต้องใช้นามแฝงที่สามารถยอมรับอาร์กิวเมนต์อย่างน้อยหนึ่งข้อ นั่นคือ เมื่อใช้ฟังก์ชันทุบตี
ไวยากรณ์
การสร้างฟังก์ชันทุบตีนั้นไม่ใช่เรื่องยาก สามารถประกาศในรูปแบบใดรูปแบบหนึ่งจากสองรูปแบบที่แตกต่างกันดังต่อไปนี้:
function_name () { [คำสั่ง]}
หรือ
ฟังก์ชัน function_name { [คำสั่ง]}
เราสามารถบีบอัดแบบฟอร์มที่สองนี้เป็นหนึ่งบรรทัดและแยกคำสั่งด้วยเครื่องหมายอัฒภาค อัฒภาค ต้อง มาตามคำสั่งสุดท้ายด้วย:
function_name () { command1; คำสั่ง2; }
นามแฝง Lika, ฟังก์ชันเปลือก Bash สามารถกำหนดได้ภายในไฟล์ ".bashrc" แต่มักจะง่ายกว่าที่จะใส่ไว้ในไฟล์คำจำกัดความของตนเอง เราจะเรียกมันว่า “.bash_functions” ตามแบบแผนที่ใช้สำหรับไฟล์ “.bash_aliases”
นั่นหมายความว่าเราต้องบอกไฟล์ “.bashrc” เพื่ออ่านคำจำกัดความของเรา เราสามารถคัดลอกและแก้ไขส่วนย่อยของโค้ดที่อ่านในไฟล์ “.bash_aliases” เปิด gedit และโหลดไฟล์ “.bashrc” ด้วยคำสั่งนี้:
gedit .bashrc
คุณต้องเพิ่มส่วนที่ไฮไลต์ที่แสดงด้านล่าง
คุณสามารถไฮไลต์ส่วนนามแฝงแล้วกด Ctrl+C จากนั้นย้ายไปยังตำแหน่งที่คุณต้องการให้ส่วนใหม่นั้นกด Ctrl+V เพื่อวางสำเนาของข้อความ จากนั้นสิ่งที่คุณต้องทำคือเปลี่ยนสองตำแหน่งที่ระบุว่า “.bash_aliases” เป็น “.bash_functions”
เราบันทึกการเปลี่ยนแปลงเหล่านั้นและปิด gedit ได้
ตอนนี้เรากำลังจะสร้างและแก้ไขไฟล์ “.bash_functions” และใส่คำจำกัดความของฟังก์ชันลงไป
แตะ .bash_functionsgedit .bash_functions
ซึ่งจะเป็นการเปิดไฟล์ “.bash_functions” ที่ว่างเปล่าใน gedit
เราจะเพิ่มฟังก์ชันง่ายๆ ที่เรียกว่า ขึ้นจะใช้พารามิเตอร์บรรทัดคำสั่งเดียวซึ่งเป็นตัวเลข ขึ้นแล้วจะเรียก cd .. จำนวนครั้งนั้น ดังนั้น หากคุณใช้คำสั่ง
ขึ้น 2
ขึ้นจะเรียก cd .. สองครั้ง และจะเลื่อนขึ้นสองระดับในแผนผังไดเรกทอรี
มีหลายวิธีในการกำหนดฟังก์ชัน นี่คือหนึ่ง:
ฟังก์ชันขึ้น() {
คำว่าฟังก์ชันเป็นตัวเลือก หากคุณเป็นนักอนุรักษนิยม ใช้มัน หากคุณไม่สามารถรบกวนการพิมพ์ได้ ให้ปล่อยมันทิ้งไป
นี่คือฟังก์ชันทั้งหมดของเราใน gedit:
ฟังก์ชันขึ้น () {
นี่เป็นจุดเริ่มต้นของคำจำกัดความฟังก์ชันของเรา และเป็นการตั้งชื่อฟังก์ชัน
ระดับ=$1
สิ่งนี้จะสร้างตัวแปรที่เรียกว่า ระดับ และตั้งค่าให้เป็นค่าของพารามิเตอร์แรก พารามิเตอร์นี้จะเป็นตัวเลขที่ผู้ใช้ระบุเมื่อเรียกใช้ฟังก์ชัน $1 หมายถึง “พารามิเตอร์บรรทัดคำสั่งแรก”
ในขณะที่ [ "$levels" -gt "0" ]; ทำ
จากนั้นเราเข้าสู่ลูปซึ่งจะแปลว่า “เมื่อ “ค่า ” ของ “ระดับ ” เป็นค่าบวกหรือมากกว่าศูนย์ ทำสิ่งที่อยู่ในเนื้อหาของลูป”
ภายในเนื้อหาของลูป เรามีสองคำสั่ง คือ:
cd ..
เลื่อนระดับขึ้นในแผนผังไดเร็กทอรี
levels=$(($levels - 1))
ตั้งค่าระดับเป็นค่าใหม่ ซึ่งน้อยกว่าค่าปัจจุบันหนึ่งระดับ
จากนั้นเรากลับไปที่ด้านบนสุดของลูป การเปรียบเทียบระหว่างค่าระดับและศูนย์จะทำอีกครั้ง หาก “ระดับ” มากกว่าศูนย์ เนื้อหาของลูปจะดำเนินการอีกครั้ง ถ้าค่าไม่เป็นบวกหรือมากกว่าศูนย์ แสดงว่าการวนซ้ำสิ้นสุดลง &เราเลื่อนไปที่คำสั่ง done และฟังก์ชันจะสิ้นสุดลง
บันทึก การเปลี่ยนแปลงเหล่านี้และปิด gedit .
เราจะอ่านและดำเนินการคำสั่งใน ".bashrc" ซึ่งควรอ่านและดำเนินการคำสั่งในไฟล์ ".bash_functions" ของเรา
<ก่อน>. .bashrcเราสามารถทดสอบฟังก์ชันได้โดยการย้ายไปยังตำแหน่งบางแห่งในแผนผังไดเร็กทอรีและใช้ขึ้นเพื่อย้ายกลับไปยังจุดที่ "สูงกว่า" ในแผนผังไดเร็กทอรี
cd ./work/backup/up 2
ฟังก์ชั่นทำงาน เราย้ายไดเร็กทอรีไปสองระดับที่สูงขึ้นในแผนผัง
ติดตามผลงาน
เมื่อคุณสร้างชุดของนามแฝงและไลบรารีของฟังก์ชัน อาจกลายเป็นเรื่องยากที่จะจดจำว่าคำสั่งใดคำสั่งหนึ่งเป็นนามแฝงหรือฟังก์ชัน คุณสามารถใช้ “ประเภท” คำสั่งเพื่อเตือนคุณ สิ่งที่ยอดเยี่ยมที่นี่คือคุณจะได้เห็นคำจำกัดความด้วย
ลองใช้พิมพ์บน ftc . ของเรา นามแฝงและฟังก์ชันขึ้นของเรา
พิมพ์ ftctype ขึ้น
เราได้รับการแจ้งเตือนที่เป็นประโยชน์อย่างมากว่าแต่ละคำสั่งเป็นประเภทใด พร้อมคำจำกัดความ
เริ่มสะสม
นามแฝงและฟังก์ชันสามารถเร่งความเร็วการใช้งานบรรทัดคำสั่งของคุณได้อย่างมาก พวกเขาสามารถย่อลำดับคำสั่งและช่วยให้คุณสามารถรวมตัวเลือกที่คุณใช้กับคำสั่งมาตรฐานเสมอ ทุกครั้งที่คุณเห็นฟังก์ชันหนึ่งซับหรือฟังก์ชันที่มีประโยชน์ คุณสามารถปรับเปลี่ยนและทำให้เป็นส่วนตัวได้ จากนั้นจึงเพิ่มลงในไฟล์ ".bash_aliases" หรือ ".bash_functions" การใช้สิ่งเหล่านี้อย่างกว้างขวางสามารถช่วยให้เวลาของคุณในเปลือกสนุกยิ่งขึ้นและซับซ้อนน้อยลง
อย่าลืมระวังการกำหนดคำสั่งที่มีอยู่ใหม่ด้วยพฤติกรรมที่อาจเป็นอันตราย แม้แต่ทำสิ่งที่ตรงกันข้ามและใช้นามแฝงของคำสั่งกับตัวแปรที่ปลอดภัยกว่า (เช่น ขอคำยืนยันก่อนลบซ้ำทุกครั้ง เป็นต้น) ก็สามารถกลับมากัดคุณได้ในครั้งแรกที่คุณอยู่ในระบบโดยที่คุณไม่ได้พึ่งมัน . หากต้องการค้นหาตัวเลือกที่อาจใช้สร้างชื่อแทนได้ อาจเป็นความคิดที่ดีที่จะค้นหาประวัติของคุณสำหรับคำสั่งที่ใช้บ่อยที่สุด