Computer >> คอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

การรู้ command prompts &shell scripts ยังคงมีความจำเป็น หากคุณต้องการได้รับประโยชน์สูงสุดจากระบบ GNU/Linux และยิ่งมีการทำงานที่บรรทัดคำสั่งมากเท่าไร ก็ยิ่งพบว่าคำสั่งส่วนใหญ่ที่ใช้นั้น ชุดย่อยขนาดเล็กของคำสั่งที่ใช้ได้ งานส่วนใหญ่เป็นนิสัย &ผู้ใช้ที่คุณอาจเรียกใช้ในลักษณะนี้ทุกวัน

จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

ในขณะที่ผู้ผลิตยูทิลิตี้คำสั่งทั่วไปจำนวนมากได้พยายามกำจัดการพิมพ์ที่ไม่เกี่ยวข้องโดยใช้ชื่อที่สั้นลงเช่น แทนรายการ เราพิมพ์ “ls ” &แทนที่จะเปลี่ยนไดเร็กทอรี เราพิมพ์ “cd ” นอกจากนี้ ผู้ใช้ Linux จำนวนมากมักต้องใช้คำสั่งเดียวซ้ำแล้วซ้ำอีก การพิมพ์/คัดลอกคำสั่งเดิมซ้ำแล้วซ้ำอีกจะลดประสิทธิภาพการทำงานและทำให้ผู้ใช้เสียสมาธิจากการทำงานจริง

คงจะดีถ้าเราใช้เวลาน้อยลงในการพิมพ์คำสั่งยาวๆ เหล่านั้น เรามีสองวิธีที่มีประสิทธิภาพในการลดเวลาของคุณที่บรรทัดคำสั่งคือ ชื่อแทนเชลล์ และ ฟังก์ชั่น ด้วยการใช้สองสิ่งนี้ ผู้ใช้สามารถเชื่องงานที่ซ้ำซากจำเจ ลดกระบวนการที่มีความยาว และกำหนดค่าคำสั่งที่กำหนดเองด้วยตัวเลือกที่ผู้ใช้ใช้เสมอ &พยายามจดจำ

คุณสามารถกำหนดคำสั่งที่เหมาะกับความต้องการเฉพาะของคุณ และเพื่อแบ่งเบาภาระของงานที่ซ้ำซากจำเจ

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

ความแตกต่างระหว่างนามแฝงและฟังก์ชันเป็นหนึ่งในความซับซ้อนและขนาด สคริปท์สามารถเก็บโค้ดที่ยาวและละเอียดกว่าได้ดีกว่า นามแฝงเหมาะอย่างยิ่งสำหรับการถือชุดคำสั่งที่สั้นและกระชับยิ่งขึ้น

ชื่อแทนเชลล์

นามแฝงของเชลล์เป็นช็อตคัทแบบกำหนดเองเพื่ออ้างอิงคำสั่งหรือชุดคำสั่งที่ดำเนินการโดยมีหรือไม่มีตัวเลือกที่กำหนดเอง นามแฝงเหล่านี้เป็นชื่อทางเลือกที่จำง่ายสำหรับคำสั่งแบบยาวที่คุณต้องดำเนินการบ่อยๆ เมื่อคุณพิมพ์ที่บรรทัดคำสั่ง เชลล์จะค้นหาสิ่งที่คุณเขียนในรายการนามแฝงก่อน หากพบรายการที่ตรงกัน นามแฝงนั้นจะถูกแทนที่ด้วยข้อความที่เกี่ยวข้อง หลังจากเสร็จสิ้น มันจะดูที่บรรทัดคำสั่งผลลัพธ์ทั้งหมดอีกครั้ง &ดำเนินการมัน

โอกาสที่คุณอาจใช้นามแฝง .แล้ว บนระบบ Linux เนื่องจากลีนุกซ์ส่วนใหญ่เพิ่มชื่อแทนยอดนิยมอย่างน้อยบางส่วนตามค่าเริ่มต้นใน “.bashrc” ไฟล์ของบัญชีผู้ใช้

นอกเหนือจากนามแฝง:ฟังก์ชันของเชลล์

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

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

รูปแบบของนามแฝง:

การสร้างนามแฝงใน bash นั้นตรงไปตรงมามาก ไวยากรณ์มีดังนี้:

alias alias_name=”command_to_run”

เพื่อสร้าง bash alias ใหม่ในเซสชันปัจจุบัน

  1. พิมพ์ “นามแฝง
  2. จากนั้นก็ประกาศชื่อนามแฝง
  3. ตามด้วยเครื่องหมายเท่ากับ
  4. และคำสั่งที่จะรันเมื่อมีการเรียกนามแฝง

คำสั่งต้องอยู่ในเครื่องหมายคำพูด &โดยไม่มีช่องว่างรอบเครื่องหมายเท่ากับ ช่องว่างที่นี่จะทำลายคำสั่ง ต้องประกาศนามแฝงแต่ละรายการในบรรทัดใหม่

ให้เราได้ชี้แจงโดยตัวอย่าง บนบรรทัดคำสั่ง Linux หนึ่งในคำสั่งที่ใช้มากที่สุดคือ “ls ” คำสั่ง “ls” ส่วนใหญ่ใช้กับ “la ” ซึ่งจะแสดงรายการไฟล์และไดเรกทอรีทั้งหมดที่มีไฟล์ที่ซ่อนอยู่ในรูปแบบของรายการแบบยาว ตอนนี้เราจะสร้าง bash alias อย่างง่าย “จะ ” ซึ่งจะเป็นทางลัดไปยัง ls -la   คำสั่ง

  1. เปิดหน้าต่างเทอร์มินัล
  2. ประเภท:
    นามแฝง ll="ls -la"

    &กด ป้อน

    จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร
  3. ตอนนี้ในคอนโซลพิมพ์ “ll ” และกด ป้อน จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร
  4. ผลลัพธ์จะเหมือนกับการพิมพ์ ls -la.

นามแฝงที่กำหนดไว้ข้างต้น "ll" จะใช้งานได้เฉพาะในเซสชันเชลล์ปัจจุบันเท่านั้น หากคุณปิดเซสชันหรือหน้าต่างเซสชันใหม่ที่เริ่มต้นจากเทอร์มินัลอื่น นามแฝง "ll" ที่กำหนดไว้ข้างต้นจะไม่สามารถใช้ได้

จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

เราจะหารือกันในภายหลังเกี่ยวกับวิธีการทำให้นามแฝงคงอยู่ ตัวอย่างที่นี่มีไว้สำหรับ bash shell แต่แนวคิดทั้งหมดและโค้ดส่วนใหญ่ใช้ได้กับเชลล์อื่นๆ ด้วย

นามแฝงที่กำหนดไว้ล่วงหน้า

นามแฝงบางตัวถูกกำหนดไว้ล่วงหน้าสำหรับคุณ หากต้องการทราบรายชื่อนามแฝงทั้งหมดที่กำหนดไว้ในระบบ เราจะใช้คำสั่ง “นามแฝง” โดยไม่มีพารามิเตอร์ใดๆ:

นามแฝง

นี่คือนามแฝงบนเครื่องทดสอบ Ubuntu ที่บทความนี้ได้รับการวิจัย นอกจากนี้ ชื่อแทนแบบกำหนดเองใดๆ จะปรากฏขึ้นในรายการนี้ด้วย

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

grep

จะตีความว่า:

grep --color=auto

ซึ่งแสดงจุดสำคัญด้วยนามแฝง พวกเขาสามารถมีชื่อเดียวกับคำสั่งที่มีอยู่ พวกเขาสามารถมีคำสั่งเดิมอยู่ภายในตัวมันเองได้

นี่คือคำจำกัดความของนามแฝง grep

นามแฝง grep='grep --color=auto'
  1. คำสั่ง alias ใช้เพื่อกำหนดนามแฝง
  2. ต่อไปจะตั้งชื่อนามแฝง ในตัวอย่างนี้ มันคือ “grep”
  3. เครื่องหมายเท่ากับเชื่อมชื่อนามแฝงกับ body ของนามแฝง สำหรับนามแฝงทั่วไปทั้งหมด เนื้อหาของนามแฝงจะอยู่ภายในเครื่องหมายคำพูดเดียว ‘
  4. เนื้อความของนามแฝงคือส่วนที่ดำเนินการเมื่อใช้นามแฝงในบรรทัดคำสั่ง
  5. เนื้อความของนามแฝงนี้เพียงแค่เรียกใช้คำสั่ง grep ด้วยตัวเลือก –color=auto 

นามแฝงการแจ้งเตือน

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

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

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

นอน 5; แจ้งเตือน
จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

หลังจากผ่านไปห้าวินาที เราจะเห็นการแจ้งเตือนของระบบ:

จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

ไอคอนนี้เป็นหน้าต่างเทอร์มินัลขนาดเล็ก ซึ่งหมายความว่าทุกอย่างเป็นไปด้วยดี มาลองอีกครั้งด้วยคำสั่งที่เรารู้ว่าจะล้มเหลว:

DoomedToFail; แจ้งเตือน
จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

การแจ้งเตือนระบบของเราตอนนี้มีไอคอนข้อผิดพลาด

จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

การกำหนดนามแฝงเล็กน้อย

ดังที่เราได้เห็นแล้ว ในการกำหนดนามแฝง เราใช้คำสั่งนามแฝง

เราจะสร้างนามแฝงสำหรับคำสั่งที่ชัดเจน นามแฝงของเราจะถูกเรียกว่า cls และจะเรียกคำสั่ง clear

คำจำกัดความของนามแฝงของเรานั้นเล็กน้อยมากจนไม่รับประกันว่าจะถูกใส่เครื่องหมายอัญประกาศเดี่ยว หากเนื้อความของนามแฝงซับซ้อนกว่านี้ หรือมีช่องว่าง ให้ใส่เครื่องหมายคำพูดเดี่ยว เราจะกำหนดนามแฝง ใช้ ls เพื่อใส่เอาต์พุตในหน้าต่างเทอร์มินัล จากนั้นใช้ cls นามแฝงใหม่เพื่อล้างหน้าจอ

นามแฝง cls=clearls -lcls
จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

หน้าจอถูกล้าง ประสบความสำเร็จแม้ว่าจะอายุสั้น นามแฝงจะคงอยู่ตราบใดที่หน้าต่างเทอร์มินัลนี้ยังคงเปิดอยู่ เมื่อปิดหน้าต่าง นามแฝงจะหายไป

การทำให้นามแฝงถาวรโดยใช้ไฟล์ “.bashrc”

คุณอาจสงสัยว่านามแฝงที่บรรจุไว้ล่วงหน้าถูกกำหนดไว้ที่ใด มันอยู่ในไฟล์ “.bashrc” ในโฟลเดอร์หลักของคุณ ไฟล์นี้ถูกอ่าน และคำสั่งภายในไฟล์จะดำเนินการทุกครั้งที่คุณเริ่มเชลล์แบบโต้ตอบ นั่นคือเมื่อคุณเปิดหน้าต่างเทอร์มินัล

พิมพ์คำสั่งต่อไปนี้ในโฟลเดอร์เริ่มต้นของคุณเพื่อดูเนื้อหาของไฟล์ “.bashrc” พร้อมการเน้นไวยากรณ์

gedit .bashrc
จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

การดำเนินการนี้จะเปิด gedit  ตัวแก้ไขที่โหลดไฟล์ “.bashrc” เข้าไป

จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

พื้นที่ที่ไฮไลต์จะแสดงพื้นที่ 2 ส่วนที่มีการกำหนดนามแฝง

การเลื่อนดูเอกสารจะเปิดเผยส่วนอื่นๆ อีก 2 ส่วนที่เกี่ยวข้องกับนามแฝง:

จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

ประการแรกคือคำจำกัดความของชื่อแทนการแจ้งเตือน ประการที่สองคือคำสั่ง if มันแปลว่า “ถ้าไฟล์ “.bash_aliases ” มีอยู่ โปรดอ่านในนั้น”

หากคุณมีนามแฝงเพียงไม่กี่ชื่อที่ต้องการกำหนด คุณอาจใส่ไว้ในไฟล์ “.bashrc” วางไว้ใต้ส่วนที่มีนามแฝง ls

หากคุณกำลังจะสร้างนามแฝงจำนวนมาก หรือคุณแค่ชอบความคิดที่จะรวมนามแฝงของคุณไว้ในไฟล์ของตัวเอง คุณสามารถกำหนดชื่อแทนเหล่านั้นในไฟล์ “.bash_aliases” ของคุณได้ ข้อดีอย่างหนึ่งของการสร้างมันในไฟล์ “.bash_aliases” คือคุณไม่สามารถเปลี่ยนการตั้งค่าใดๆ ในไฟล์ “.bashrc” ได้โดยไม่ได้ตั้งใจ ข้อดีอีกประการหนึ่งคือนามแฝงของคุณจะถูกคัดลอกไปยังระบบใหม่อย่างง่ายดาย เนื่องจากถูกแยกออกจากไฟล์ “.bashrc”

นามแฝงควรตั้งชื่อในลักษณะที่จำง่าย ขอแนะนำให้เพิ่มความคิดเห็นเพื่อใช้อ้างอิงในอนาคต

การจัดเก็บนามแฝงในไฟล์ .bash_aliases

ไฟล์ “.bash_aliases” ไม่มีอยู่โดยค่าเริ่มต้น คุณจะต้องสร้างมันขึ้นมา คุณสามารถสร้างไฟล์ด้วยคำสั่งนี้:

แตะ .bash_aliases
จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

มาแก้ไขไฟล์และเพิ่มนามแฝงสองสามตัวเข้าไป คำสั่งนี้จะเปิดไฟล์ “.bash_aliases” ในตัวแก้ไข gedit

gedit .bash_aliases
จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

เราได้เพิ่มนามแฝงสามชื่อ อย่างแรกคือ 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

จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

นามแฝงของเราตอบกลับ ซึ่งหมายความว่า Bash ได้อ่านทั้งใน “.bashrc” และ “.bash_aliases” และนามแฝงใหม่ของเรากำลังเผยแพร่แล้ว

ตอนนี้คุณสามารถไปข้างหน้าและเพิ่มนามแฝงใหม่ให้กับไฟล์ “.bash_aliases” ตามที่เกิดขึ้นกับคุณ หากคุณพบว่าตัวเองทำสิ่งต่างๆ มากกว่าหนึ่งครั้งหรือสองครั้ง ให้ลองสร้างชื่อแทนมัน

การลบนามแฝง

มีคำสั่งให้ลบนามแฝงเพื่อให้ Bash ไม่รู้จักและไม่ตอบสนอง คำสั่งนี้มีชื่อว่า unalias .

ในการใช้งานให้ตั้งชื่อนามแฝงที่คุณต้องการให้ Bash ลืม หากต้องการให้ Bash ลืมนามแฝง ftc ให้ใช้ unalias เช่น ที่ใช้ก่อนหน้านี้ “จะ ” คำสั่ง:

unalias ll
จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

คุณสามารถใช้ unalias เพื่อลบนามแฝงที่คุณกำหนดไว้และนามแฝงที่กำหนดไว้ล่วงหน้าใดๆ ได้

หากต้องการลบนามแฝงทั้งหมดออกจากระบบ ให้ใช้ตัวเลือก -a (ทั้งหมด):

unalias -a

การสูญเสียหน่วยความจำของ Bash จะไม่ถาวร ครั้งต่อไปที่คุณเปิดหน้าต่างเทอร์มินัล ชื่อแทน "ลืม" จะกลับมา คุณต้องลบออกจากไฟล์ “.bashrc” และ “.bash_alias”

หากคุณคิดว่าคุณอยากจะได้มันกลับมา อย่าลบมันออกจากไฟล์ “.bashrc” ของคุณ ให้แสดงความคิดเห็นโดยเพิ่มแฮช # ที่จุดเริ่มต้นของแต่ละบรรทัดชื่อแทน หากต้องการให้ไฟล์ “.bash_alias” ของคุณใช้งานไม่ได้ ให้เปลี่ยนชื่อไฟล์ หากไฟล์ “.bashrc” ของคุณมองไม่เห็น ไฟล์จะไม่อ่านมัน การย้อนกลับขั้นตอนเหล่านี้เพื่อคืนสถานะให้กับนามแฝงของคุณเป็นเรื่องเล็กน้อย

หากต้องการข้ามนามแฝงชั่วคราว (เช่น เราใช้นามแฝง ls ถึง ls -a) ให้พิมพ์:

\ls

ผลที่ได้คือคำสั่งปกติจะถูกเรียก ไม่ใช่เวอร์ชันนามแฝง

จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

ความช่วยเหลือสำหรับคำสั่งนามแฝง:

  • –ตัวเลือกความช่วยเหลือ :แสดงข้อมูลช่วยเหลือ

ไวยากรณ์:

นามแฝง --help
จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

ฟังก์ชันของเชลล์

บางครั้งจำเป็นต้องใช้นามแฝงที่สามารถยอมรับอาร์กิวเมนต์อย่างน้อยหนึ่งข้อ นั่นคือ เมื่อใช้ฟังก์ชันทุบตี

ไวยากรณ์

การสร้างฟังก์ชันทุบตีนั้นไม่ใช่เรื่องยาก สามารถประกาศในรูปแบบใดรูปแบบหนึ่งจากสองรูปแบบที่แตกต่างกันดังต่อไปนี้:

function_name () {  [คำสั่ง]}

หรือ

ฟังก์ชัน function_name {  [คำสั่ง]}

เราสามารถบีบอัดแบบฟอร์มที่สองนี้เป็นหนึ่งบรรทัดและแยกคำสั่งด้วยเครื่องหมายอัฒภาค อัฒภาค ต้อง มาตามคำสั่งสุดท้ายด้วย:

function_name () { command1; คำสั่ง2; }

นามแฝง Lika, ฟังก์ชันเปลือก Bash สามารถกำหนดได้ภายในไฟล์ ".bashrc" แต่มักจะง่ายกว่าที่จะใส่ไว้ในไฟล์คำจำกัดความของตนเอง เราจะเรียกมันว่า “.bash_functions” ตามแบบแผนที่ใช้สำหรับไฟล์ “.bash_aliases”

นั่นหมายความว่าเราต้องบอกไฟล์ “.bashrc” เพื่ออ่านคำจำกัดความของเรา เราสามารถคัดลอกและแก้ไขส่วนย่อยของโค้ดที่อ่านในไฟล์ “.bash_aliases” เปิด gedit และโหลดไฟล์ “.bashrc” ด้วยคำสั่งนี้:

gedit .bashrc
จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

คุณต้องเพิ่มส่วนที่ไฮไลต์ที่แสดงด้านล่าง

คุณสามารถไฮไลต์ส่วนนามแฝงแล้วกด Ctrl+C จากนั้นย้ายไปยังตำแหน่งที่คุณต้องการให้ส่วนใหม่นั้นกด Ctrl+V เพื่อวางสำเนาของข้อความ จากนั้นสิ่งที่คุณต้องทำคือเปลี่ยนสองตำแหน่งที่ระบุว่า “.bash_aliases” เป็น “.bash_functions”

จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

เราบันทึกการเปลี่ยนแปลงเหล่านั้นและปิด gedit ได้

ตอนนี้เรากำลังจะสร้างและแก้ไขไฟล์ “.bash_functions” และใส่คำจำกัดความของฟังก์ชันลงไป

แตะ .bash_functionsgedit .bash_functions
จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

ซึ่งจะเป็นการเปิดไฟล์ “.bash_functions” ที่ว่างเปล่าใน gedit

เราจะเพิ่มฟังก์ชันง่ายๆ ที่เรียกว่า ขึ้นจะใช้พารามิเตอร์บรรทัดคำสั่งเดียวซึ่งเป็นตัวเลข ขึ้นแล้วจะเรียก cd .. จำนวนครั้งนั้น ดังนั้น หากคุณใช้คำสั่ง

ขึ้น 2

ขึ้นจะเรียก cd .. สองครั้ง และจะเลื่อนขึ้นสองระดับในแผนผังไดเรกทอรี

มีหลายวิธีในการกำหนดฟังก์ชัน นี่คือหนึ่ง:

ฟังก์ชันขึ้น() {

คำว่าฟังก์ชันเป็นตัวเลือก หากคุณเป็นนักอนุรักษนิยม ใช้มัน หากคุณไม่สามารถรบกวนการพิมพ์ได้ ให้ปล่อยมันทิ้งไป

นี่คือฟังก์ชันทั้งหมดของเราใน gedit:

จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร
ฟังก์ชันขึ้น () {

นี่เป็นจุดเริ่มต้นของคำจำกัดความฟังก์ชันของเรา และเป็นการตั้งชื่อฟังก์ชัน

ระดับ=$1

สิ่งนี้จะสร้างตัวแปรที่เรียกว่า ระดับ และตั้งค่าให้เป็นค่าของพารามิเตอร์แรก พารามิเตอร์นี้จะเป็นตัวเลขที่ผู้ใช้ระบุเมื่อเรียกใช้ฟังก์ชัน $1 หมายถึง “พารามิเตอร์บรรทัดคำสั่งแรก”

ในขณะที่ [ "$levels" -gt "0" ]; ทำ

จากนั้นเราเข้าสู่ลูปซึ่งจะแปลว่า “เมื่อ “ค่า ” ของ “ระดับ ” เป็นค่าบวกหรือมากกว่าศูนย์ ทำสิ่งที่อยู่ในเนื้อหาของลูป”

ภายในเนื้อหาของลูป เรามีสองคำสั่ง คือ:

cd ..

เลื่อนระดับขึ้นในแผนผังไดเร็กทอรี

levels=$(($levels - 1))

ตั้งค่าระดับเป็นค่าใหม่ ซึ่งน้อยกว่าค่าปัจจุบันหนึ่งระดับ

จากนั้นเรากลับไปที่ด้านบนสุดของลูป การเปรียบเทียบระหว่างค่าระดับและศูนย์จะทำอีกครั้ง หาก “ระดับ” มากกว่าศูนย์ เนื้อหาของลูปจะดำเนินการอีกครั้ง ถ้าค่าไม่เป็นบวกหรือมากกว่าศูนย์ แสดงว่าการวนซ้ำสิ้นสุดลง &เราเลื่อนไปที่คำสั่ง done และฟังก์ชันจะสิ้นสุดลง

บันทึก การเปลี่ยนแปลงเหล่านี้และปิด gedit .

เราจะอ่านและดำเนินการคำสั่งใน ".bashrc" ซึ่งควรอ่านและดำเนินการคำสั่งในไฟล์ ".bash_functions" ของเรา

<ก่อน>. .bashrc จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

เราสามารถทดสอบฟังก์ชันได้โดยการย้ายไปยังตำแหน่งบางแห่งในแผนผังไดเร็กทอรีและใช้ขึ้นเพื่อย้ายกลับไปยังจุดที่ "สูงกว่า" ในแผนผังไดเร็กทอรี

cd ./work/backup/up 2
จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

ฟังก์ชั่นทำงาน เราย้ายไดเร็กทอรีไปสองระดับที่สูงขึ้นในแผนผัง

ติดตามผลงาน

เมื่อคุณสร้างชุดของนามแฝงและไลบรารีของฟังก์ชัน อาจกลายเป็นเรื่องยากที่จะจดจำว่าคำสั่งใดคำสั่งหนึ่งเป็นนามแฝงหรือฟังก์ชัน คุณสามารถใช้ “ประเภท” คำสั่งเพื่อเตือนคุณ สิ่งที่ยอดเยี่ยมที่นี่คือคุณจะได้เห็นคำจำกัดความด้วย

ลองใช้พิมพ์บน ftc  . ของเรา นามแฝงและฟังก์ชันขึ้นของเรา

พิมพ์ ftctype ขึ้น
จะสร้างนามแฝงและฟังก์ชั่นเชลล์บน Linux ได้อย่างไร

เราได้รับการแจ้งเตือนที่เป็นประโยชน์อย่างมากว่าแต่ละคำสั่งเป็นประเภทใด พร้อมคำจำกัดความ

เริ่มสะสม

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

อย่าลืมระวังการกำหนดคำสั่งที่มีอยู่ใหม่ด้วยพฤติกรรมที่อาจเป็นอันตราย แม้แต่ทำสิ่งที่ตรงกันข้ามและใช้นามแฝงของคำสั่งกับตัวแปรที่ปลอดภัยกว่า (เช่น ขอคำยืนยันก่อนลบซ้ำทุกครั้ง เป็นต้น) ก็สามารถกลับมากัดคุณได้ในครั้งแรกที่คุณอยู่ในระบบโดยที่คุณไม่ได้พึ่งมัน . หากต้องการค้นหาตัวเลือกที่อาจใช้สร้างชื่อแทนได้ อาจเป็นความคิดที่ดีที่จะค้นหาประวัติของคุณสำหรับคำสั่งที่ใช้บ่อยที่สุด