ฉันจะสร้างคำสั่งเทอร์มินัลแบบกำหนดเอง (เพื่อเรียกใช้สคริปต์) ได้อย่างไร


36

ฉันเป็นนักพัฒนาเว็บ เมื่อฉันต้องการเริ่มทำงานฉันมักจะดำเนินการคำสั่งบางอย่างบน terminal ตัวอย่างเช่น:

sudo service apache2 start
sudo service mysql start
sublime

เพื่อให้กระบวนการนี้เร็วขึ้นฉันสร้าง.shไฟล์ที่มีคำสั่งเหล่านี้

ตอนนี้เมื่อฉันต้องการเริ่มทำงานฉันแค่เรียกใช้ไฟล์. sh นี้และเริ่มบริการทั้งหมด (mysql, apache2 เป็นต้น)

เป็นไปได้หรือไม่ที่จะสร้างคำสั่งที่กำหนดเองสำหรับสิ่งนี้? ตัวอย่างเช่นถ้าฉันพิมพ์sudo start-workingเทอร์มินัลมันจะดำเนินการคำสั่งเหล่านี้

คำตอบ:


58

วิธีทั่วไปที่ผู้คนจัดการสิ่งนี้คือการสร้างbinไดเรกทอรีในโฮมไดเร็กตอรี่ของพวกเขา:mkdir ~/bin

จากนั้นคุณสามารถใส่สคริปต์ที่กำหนดเองของคุณใน: mv start-working ~/bin

ตรวจสอบให้แน่ใจว่าสคริปต์ของคุณทำงานได้: chmod +x ~/bin/start-working

เพิ่มไฟล์นี้ที่ด้านล่างของ~/.bashrcไฟล์ของคุณ(หากคุณใช้ bash ซึ่งคุณอาจเป็น):export PATH=$PATH:~/bin

ตอนนี้กลับเข้าสู่ระบบและออกจาก terminal ของคุณและคุณควรจะสามารถพิมพ์start-workingและสคริปต์ของคุณจะทำงาน

เมื่อเส้นทางของคุณได้รับการตั้งค่าแล้วสคริปต์ใหม่ใด ๆ ที่คุณใส่ลงไป~/binคุณก็สามารถพิมพ์ชื่อได้


13
+1 และแทนที่จะออกจากระบบและเข้าสู่ระบบคุณสามารถเรียกใช้source ~/.bashrcหรือ. ~/.bashrcคำสั่งเพื่อใช้การเปลี่ยนแปลง
Meysam

Joe Oppegaard ฉันพบข้อมูลที่มีประโยชน์จริง ๆ เพราะมีสคริปต์ที่เสร็จสมบูรณ์แล้วและต้องการเรียกใช้เป็นคำสั่งแทนที่จะเป็นสคริปต์ มีวิธีรวมไดเรกทอรีย่อยทั้งหมดที่คุณสร้างใน ~ / bin หรือไม่เพื่อให้คุณไม่ต้องรวมหลายบรรทัดการส่งออกใน. bashrc ฉันลองexport PATH=$PATH:~/bin/*แต่ไม่ได้ผลลัพธ์ที่ต้องการกลับมา
Kevin Wyman

2
ค่าเริ่มต้น~/.profileเพิ่ม~/binไปที่ PATH แล้วดังนั้นการผนวกเข้าไป~/.bashrcเพิ่มเติมจะเป็นการเพิ่มสองครั้งหรือมากกว่า
geirha

มันทำงานโดยไม่มีฉันผนวกอะไรกับ. bashrc ดังนั้นคุณอาจจะข้ามได้อย่างที่ geriha พูด
Aaron Flores

จากประสบการณ์ของฉันเมื่อคุณเพิ่มไฟล์ใหม่คุณต้องทำซ้ำคำสั่ง chmod มิฉะนั้นการอนุญาตจะถูกปฏิเสธ
Webwoman

15

ฉันกำลังมองหาวิธีสร้างคำสั่งที่กำหนดเองและฉันพบคำถามนี้กับคนอื่น ๆ ฉันคิดว่าสิ่งที่ฉันกำลังมองหามีไว้สำหรับนามแฝงดังนั้นฉันจะให้วิธีการทำสิ่งนี้กับนามแฝง

ในโฟลเดอร์บ้านของคุณ:

nano .bash_aliases

และคุณสามารถจดคำสั่งของคุณในบรรทัดเดียว:

alias start-working='sudo service apache2 start; sudo service mysql start; sublime'

หลังจากบันทึกไฟล์กำหนดค่า bashrc ของคุณใหม่

. ~/.bashrc

และตรวจสอบการโหลดนามแฝงใหม่ของคุณ

alias

เพียงเท่านี้คุณก็สามารถเริ่มทำงานได้ทันทีโดยการวิ่ง

start-working
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.