simple bash script in Linux
สารบัญ:
คุณมักจะพบว่าคุณพิมพ์คำสั่งแบบยาวบนบรรทัดคำสั่งหรือค้นหาประวัติทุบตีเพื่อดูคำสั่งที่พิมพ์ไว้ก่อนหน้านี้หรือไม่? หากคำตอบของคุณสำหรับคำถามเหล่านั้นคือใช่คุณจะพบว่าชื่อแทนทุบตีนั้นมีประโยชน์ ชื่อแทนทุบตีช่วยให้คุณสามารถตั้งค่าคำสั่งทางลัดที่น่าจดจำสำหรับคำสั่งอีกต่อไป
นามแฝงทุบตีเป็นหลักทางลัดที่ช่วยให้คุณไม่ต้องจดจำคำสั่งยาว ๆ และกำจัดการพิมพ์จำนวนมากเมื่อคุณทำงานบนบรรทัดคำสั่ง ตัวอย่างเช่นคุณสามารถตั้งค่า alias
tgz
เป็นทางลัดสำหรับคำสั่ง
tar -xvfz
บทความนี้อธิบายวิธีสร้างนามแฝง bash เพื่อให้คุณทำงานได้อย่างมีประสิทธิภาพมากขึ้นในบรรทัดคำสั่ง
สร้างนามแฝง Bash
การสร้างชื่อแทนใน bash นั้นตรงไปตรงมามาก ไวยากรณ์มีดังนี้:
alias alias_name="command_to_run"
หากต้องการสร้างชื่อแทนทุบตีใหม่ให้เริ่มต้นด้วยการพิมพ์คำหลัก
alias
จากนั้นประกาศชื่อนามแฝงตามด้วยเครื่องหมายเท่ากับและคำสั่งที่คุณต้องการเรียกใช้เมื่อคุณพิมพ์นามแฝง คำสั่งจะต้องอยู่ในเครื่องหมายคำพูดและไม่มีเว้นวรรครอบเครื่องหมายเท่ากับ แต่ละนามแฝงจะต้องประกาศในบรรทัดใหม่
ls
สั่ง
ls
อาจเป็นหนึ่งในคำสั่งที่ใช้มากที่สุดในบรรทัดคำสั่ง Linux ฉันมักจะใช้คำสั่งนี้พร้อมกับ
-la
สลับเพื่อแสดงรายการไฟล์และไดเรกทอรีทั้งหมดรวมถึงไฟล์ที่ซ่อนอยู่ในรูปแบบรายการแบบยาว
มาสร้าง bash alias ง่ายๆที่ชื่อว่า
ll
ซึ่งจะเป็นทางลัดสำหรับ
ls -la
หากต้องการพิมพ์ให้เปิดหน้าต่างเทอร์มินัลแล้วพิมพ์:
alias ll="ls -la"
ตอนนี้ถ้าคุณพิมพ์
ll
ในคอนโซลของคุณคุณจะได้ผลลัพธ์เช่นเดียวกับที่คุณทำโดยพิมพ์
ls -la
นามแฝง
ll
จะใช้ได้เฉพาะในเซสชันเชลล์ปัจจุบันเท่านั้น หากคุณออกจากเซสชันหรือเปิดเซสชันใหม่จากเทอร์มินัลอื่นนามแฝงจะไม่สามารถใช้ได้
ในการทำให้นามแฝงคงอยู่คุณต้องประกาศในไฟล์
~/.bash_profile
หรือ
~/.bashrc
เปิด
~/.bashrc
ในโปรแกรมแก้ไขข้อความของคุณ:
nano ~/.bashrc
และเพิ่มชื่อแทนของคุณ:
~ /.bashrc
# Aliases # alias alias_name="command_to_run" # Long format list alias ll="ls -la" # Print my public IP alias myip='curl ipinfo.io/ip'
คุณควรตั้งชื่อแทนของคุณในวิธีที่ง่ายต่อการจดจำ ขอแนะนำให้เพิ่มความคิดเห็นสำหรับการอ้างอิงในอนาคต
เมื่อเสร็จแล้วให้บันทึกและปิดไฟล์ ทำให้นามแฝงพร้อมใช้งานในเซสชันปัจจุบันของคุณโดยพิมพ์:
source ~/.bash_profile
อย่างที่คุณเห็นการสร้างนามแฝงทุบตีง่าย ๆ นั้นง่ายและรวดเร็วมาก
หากคุณต้องการทำให้.
.bashrc
ร์มากขึ้นคุณสามารถจัดเก็บชื่อแทนของคุณในไฟล์แยกต่างหาก การแจกแจงบางอย่างเช่น Ubuntu และ Debian มีไฟล์.
.bash_aliases
ซึ่งมาจาก
~/.bashrc
การสร้าง Bash Aliases ด้วยอาร์กิวเมนต์ (ฟังก์ชั่น Bash)
บางครั้งคุณอาจต้องสร้างนามแฝงที่ยอมรับข้อโต้แย้งอย่างน้อยหนึ่งข้อซึ่งเป็นที่ที่ฟังก์ชันทุบตีมีประโยชน์
ไวยากรณ์สำหรับการสร้างฟังก์ชั่นทุบตีเป็นเรื่องง่ายมาก พวกเขาอาจประกาศในสองรูปแบบที่แตกต่างกัน:
function_name () { }
หรือ
function function_name { }
ในการผ่านจำนวนอาร์กิวเมนต์ใด ๆ ไปยังฟังก์ชันทุบตีเพียงแค่ใส่พวกเขาทันทีหลังจากชื่อของฟังก์ชั่นคั่นด้วยช่องว่าง พารามิเตอร์ที่ส่งผ่านคือ
$1
,
$2
,
$3
, ฯลฯ ซึ่งสอดคล้องกับตำแหน่งของพารามิเตอร์หลังจากชื่อของฟังก์ชัน ตัวแปร
$0
ถูกสงวนไว้สำหรับชื่อฟังก์ชัน
มาสร้างฟังก์ชั่นทุบตีง่ายๆซึ่งจะสร้างไดเรกทอรีจากนั้นนำทางเข้าไปในนั้น:
~ /.bashrc
mkcd () { mkdir -p -- "$1" && cd -P -- "$1" }
เช่นเดียวกับ aliases ให้เพิ่มฟังก์ชันลงใน
~/.bashrc
ของคุณและเรียกใช้
source ~/.bash_profile
เพื่อโหลดไฟล์ซ้ำ
ตอนนี้แทนที่จะใช้
mkdir
เพื่อสร้างไดเรกทอรีใหม่จากนั้น
cd
เพื่อย้ายไปยังไดเรกทอรีนั้นคุณสามารถพิมพ์:
mkcd new_directory
-
--
- ตรวจสอบให้แน่ใจว่าคุณไม่ได้ตั้งใจผ่านอาร์กิวเมนต์พิเศษไปยังคำสั่ง ตัวอย่างเช่นหากคุณพยายามสร้างไดเรกทอรีที่ขึ้นต้นด้วย-
(เส้นประ) โดยไม่ใช้--
ชื่อไดเรกทอรีจะถูกตีความว่าเป็นอาร์กิวเมนต์คำสั่ง&&
- ตรวจสอบให้แน่ใจว่าคำสั่งที่สองรันต่อเมื่อคำสั่งแรกสำเร็จ
ข้อสรุป
โดยตอนนี้คุณควรมีความเข้าใจที่ดีเกี่ยวกับวิธีการสร้างนามแฝงและฟังก์ชั่นทุบตีที่จะทำให้ชีวิตของคุณในบรรทัดคำสั่งง่ายขึ้นและมีประสิทธิภาพมากขึ้น
bash terminalการเรียกใช้ Bash on Ubuntu บน Windows 10

การเปิดใช้งาน Windows Subsystem for Linux จะทำให้คุณสามารถเรียกใช้ Bash บน Ubuntu บน Windows 10, สคริปต์ Bash , เครื่องมือบรรทัดคำสั่ง Linux, เครื่องมือ Linux แรกก่อน
Bash for loop

มีโครงสร้างพื้นฐาน 3 แบบในการสร้างสคริปต์ Bash สำหรับการวนซ้ำในขณะที่วนซ้ำและจนกว่าจะวนซ้ำ ในบทช่วยสอนนี้เราจะกล่าวถึงพื้นฐานของการวนรอบใน Bash รวมถึงการแบ่งและดำเนินการต่อเพื่อเปลี่ยนการไหลของลูป
Bash: ต่อท้ายไฟล์

ใน Linux มีหลายวิธีในการต่อท้ายข้อความในไฟล์ บทความนี้จะอธิบายบางส่วนของพวกเขา