สร้างนามแฝงชั่วคราวหลายรายการ


9

ฉันไม่ใช่ผู้ใช้รูต & ฉันไม่สามารถเข้าถึงไฟล์นามแฝงส่วนกลางที่มีชื่อแทนทั้งหมดที่สร้างขึ้น แต่ฉันต้องการสร้างชื่อแทนบางส่วนที่ยังคงใช้งานได้เฉพาะสำหรับเซสชันที่ฉันเข้าสู่ระบบฉันใช้คำสั่งalias x='cd /parent/child'เพื่อสร้าง นามแฝงที่จะทำให้ฉันพิมพ์xบนคอนโซล & ฉันเปลี่ยน dir เป็น / Parent / Child

อย่างไรก็ตามฉันต้องการสร้างชื่อแทนหลายรายการและฉันไม่ต้องการพิมพ์ชื่อแทนแต่ละรายการที่ฉันสร้างทุกครั้ง

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

เช่น

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

ฉันยังลองนี้ในไฟล์ แต่ไร้ประโยชน์:

alias x='cd /parent/child';alias y='cd /a/b/c';alias z='tail -0f some.log'

ไม่มีชื่อนามแฝงที่ฉันได้ลองแล้วมีอยู่ในชื่อแทนส่วนกลางแล้ว (ฉันพิมพ์นามแฝงและเห็นผลลัพธ์บนหน้าจอ)


คุณสามารถใส่ชื่อแทนของคุณทั้งหมดใน.bashrcไฟล์
cuonglm

@ Web Nash: แต่ถ้าคุณต้องการส่งอาร์กิวเมนต์ที่แตกต่างกันไปยังคำสั่งต่าง ๆ สิ่งนี้จะไม่ทำงาน
Thushi

คำตอบ:


12

สร้างนามแฝงเซสชันทั้งหมดในไฟล์เช่น alias.txt

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

จากนั้นใช้

 . ./alias.txt

คุณมีชื่อแทนทั้งหมดในรายการนามแฝงสำหรับเซสชันเดียว

แก้ไข:

ให้แน่ใจว่าจะใช้

. ./alias.txt

ไม่

./alias.txt

ในกรณีก่อนหน้าเนื้อหาจะถูกอ่าน 'ราวกับพิมพ์' ในขณะที่กรณีหลังจะกำหนดนามแฝงในเชลล์ที่จะออก


ตอนแรกฉันทำสิ่งที่คล้ายกันก่อนโพสต์คำถามนี้ แทนที่จะเป็นไฟล์ข้อความฉันแค่ใส่บรรทัดเหล่านี้ในไฟล์โดยไม่มีส่วนขยาย & ที่ใช้ไม่ได้ แต่แม้เมื่อฉันลองด้วยนามสกุล. txt มันก็ใช้งานไม่ได้
Web Nash

ที่ทำงานได้อย่างสมบูรณ์แบบ ขอบคุณมาก. ฉันไม่เข้าใจความแตกต่างระหว่างการใช้สามแบบฟอร์มเหล่านี้ 1) alias.txt 2) ./alias.txt 3) ./alias.txt
Web Nash

แบบฟอร์ม 1) และ 2) เทียบเท่ากัน อยู่ใน $ PATH ของคุณ th พวกเขาจะเรียกเชลล์ใหม่โดยปริยายเรียกใช้คำสั่ง ในกรณีส่วนใหญ่นี่เป็นเรื่องปกติ แต่ถ้าคุณต้องการนามแฝงหรือฟังก์ชั่นความหมายจะหายไปเมื่อเชลล์ออก
Archemar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.