วิธีสร้างคำสั่งที่กำหนดเองใน Unix / Linux [ปิด]


55

ทุกคนสามารถแนะนำฉันให้สร้างคำสั่งที่กำหนดเองใน Unix / Linux


2
สำหรับการอ้างอิงในอนาคตคุณควรตรวจสอบหน้าข้อเท็จจริง มันอธิบายสิ่งที่คุณควรใส่ในคำถามของคุณ (เช่นโพสต์สิ่งที่คุณวิจัยและทดลองแล้ว) นั่นเป็นสาเหตุที่มีคนโหวตให้คำถามนี้
spuder

คำตอบ:


68

สร้างสคริปต์ทุบตีในโฟลเดอร์ / usr / bin ของคุณซึ่งควรมีลักษณะดังนี้

#!/bin/bash
Whatever combination of commands you want to run when you type this thing.

มันง่ายมากจริงๆ

เพียงตั้งชื่อสคริปต์ทุบตีสิ่งที่คุณต้องการพิมพ์ลงในเทอร์มินัลและทำให้มันยอดเยี่ยม: chmod +x filenameและคุณทำได้ดี!


1
คุณสามารถแก้ไขสิ่งนี้เพื่อเป็นแนวทางทีละขั้นตอนรวมถึงทุกขั้นตอนที่จำเป็นได้หรือไม่? ฉันยังไม่แน่ใจว่าจะสร้างคำสั่งที่กำหนดเองได้อย่างไร
Yoda

5
@AndersMB คุณจะต้องอ่านหนังสือ มีของดีมากมายให้บริการฟรี เริ่มต้นด้วย"ลินุกซ์บรรทัดคำสั่ง"
Wildcard

อืมม .. เขาล้อเล่น เขาได้รับการล้อเล่นขวา ?!
Somenath Sinha

1
ดำเนินการกับ./filename
Squirrl

46
  1. สร้างไดเรกทอรีว่า "bin" ภายใต้ไดเรกทอรีบ้านของคุณ
  2. อัพเดตตัวแปรพา ธ ของคุณเพื่อรวมไดเรกทอรีถังขยะนี้ ใส่นี้ใน.profileหรือ.bash_profleไฟล์ที่จะทำให้มันถาวร

    export PATH=$PATH":$HOME/bin"

  3. สร้างสคริปต์ว่า "hello" และเก็บไว้ในไดเรกทอรี bin ของคุณ $ chmod +x helloให้ผู้ได้รับอนุญาตไปยังสคริปต์สวัสดีโดย

    #!/bin/bash    
    echo My first program
  4. โหลดซ้ำ.profileหรือ.bash_profle:

    $ . ~/.bash_profile

  5. จากไดเรกทอรีใด ๆ คุณเพียงพิมพ์:

    $ hello
    My first program

ฉันรู้ว่านี่เก่ามาก แต่ฉันเห็นคำแนะนำของคุณในการสร้างbinโฟลเดอร์ด้วยคำตอบมากมายที่นี่ มีปัญหาอะไรไหมถ้าเป็น.binแทนที่จะเป็นbin. ฉันจู้จี้จุกจิกเกี่ยวกับhomeรูปลักษณ์ของฉันและฉันไม่ต้องการโฟลเดอร์พิเศษเพียงเพราะ
MO

ฉันได้พยายามใช้นี้ประสบความสำเร็จและเป็นที่ผิดหวังมากในขณะที่คิดว่ามีบางอย่างผิดปกติกับฉันzshติดตั้งหรือ$PATHแต่มันก็จบลงด้วยการที่ไม่ได้ทำงานไม่ไม่ทุนchmod -x hello -Xฉันพยายามแทนchmod 755 hello, ในขณะที่ฉันไม่แน่ใจเกี่ยวกับความเสี่ยงด้านความปลอดภัยเกี่ยวกับคำสั่งนี้, จริง ๆ แล้วให้ฉันเรียกใช้hello. ใครบ้างมีคำอธิบายสำหรับเรื่องนี้? ฉันคิดว่ามันเป็นปัญหาเกี่ยวกับอายุ?
ConstantFun

1
@ConstantFun ใช้chmod +x helloเพื่อเพิ่มสิทธิ์ 'Run' ให้กับสคริปต์ chmod -x helloจะตรงกันข้าม - ลบสิทธิ์ 'เรียกใช้' (สังเกตเห็นความแตกต่างของเครื่องหมายบวก / ลบในคำตอบและในความคิดเห็นของคุณ)
Filip Happy

25

ง่ายสร้างนามแฝง

สมมติว่าคุณต้องการเขียนคำสั่งลงซีดีในไดเรกทอรีดาวน์โหลดของคุณ และคุณต้องการเรียกมันว่า cdd

alias cdd='cd ~/Downloads' 

คุณสามารถสร้างคำสั่งใด ๆ ที่คุณต้องการ

นี่คือข้อมูลเพิ่มเติม:
http://www.mediacollege.com/linux/command/alias.html


6
สิ่งนี้ไม่ได้คงอยู่ตลอดเซสชัน คำสั่งนี้ใช้งานได้ แต่ไม่ถาวร วิธีที่ถาวรกว่าคือการแก้ไขไฟล์ ~ / .bash_aliases ของคุณและเพิ่มบรรทัดที่คุณแนะนำไว้ที่นั่น
Jeff Grimes

2
สามารถใช้งานได้ด้วยการเพิ่มลงในไฟล์ ~ / .bashrc ของคุณ
Delicia Brummitt

11

ส่วนใหญ่ถ้าไม่ใช่ทั้งหมดตอนนี้ลีนุกซ์รุ่นลีนุกซ์จะมีสคริปเล็ก ๆ ใน ~ / .bashrcที่มีลักษณะเกือบจะเหมือนกัน:

if [ -e ~/.bash_aliases ]
then
. ~/.bash_aliases
fi

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

การกระจาย Linux ของคุณส่วนใหญ่จะไม่มีไฟล์. bash_aliases สร้างขึ้นในบ้านของคุณเว้นแต่ว่าคุณได้ทำด้วยตนเองแล้ว ดังนั้นในการสร้างไฟล์ให้พิมพ์คำสั่งต่อไปนี้:
touch ~/.bash_aliases

ตอนนี้ไฟล์ดังกล่าวจะถูกเรียกใช้งานโดยอัตโนมัติทุกครั้งที่คุณปิดสถานีใหม่

สิ่งที่คุณสามารถทำได้คือสร้างรายการชื่อแทนและเพิ่มไปยังไฟล์นั้นเพื่อใช้ในภายหลัง ตัวอย่างเช่นrmคำสั่ง (ลบ) โดยค่าเริ่มต้นจะไม่ขอให้คุณยืนยันคำขอของคุณเมื่อคุณบอกให้ลบไฟล์ / ไดเรกทอรี อย่างไรก็ตามมีข้อโต้แย้งที่บอกrmให้ขอให้คุณยืนยันคำขอของคุณ, -i. ดังนั้นrm -i filePathจะแสดงข้อความถามว่าคุณแน่ใจหรือไม่ว่าต้องการลบไฟล์ที่ระบุ ตอนนี้ถ้าคุณลบไฟล์โดยไม่ตั้งใจคุณอาจจะลืมใส่-iตัวเลือกและนั่นคือสิ่งที่aliasเป็นประโยชน์อย่างมาก พิมพ์คำสั่งต่อไปนี้

echo "alias rm='\rm -i'" >> ~/.bash_aliases

จะบอกBashว่าทุกครั้งที่คุณร้องขอให้ลบไฟล์ข้อความยืนยันจะปรากฏขึ้นให้คุณ แน่นอนว่ามีอะไรอีกมากมายที่คุณสามารถทำได้ - นี่เป็นเพียงพื้นฐาน

หากคุณต้องการที่จะเรียนรู้วิธีการใช้คำสั่งพื้นฐานบางอย่าง (เช่นcd, touch, rm, mkdir, pushd, popd, ฯลฯ ) และ / หรือคนที่มีความซับซ้อนมากขึ้นผมอยากแนะนำให้เป็นหนังสือที่ดีมากที่คุณสามารถมีบนชั้นวางหนังสือของคุณเป็นข้อมูลอ้างอิงที่เรียกว่า

แนวทางปฏิบัติในการคำสั่ง Linux บรรณาธิการและเปลือกเขียนโปรแกรมโดยมาร์ก G โซเบลล์ ไอ: 978-0133085044


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