คำถามติดแท็ก alias

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

4
ตรวจจับโดยอัตโนมัติเมื่อฉันพิมพ์“ vi” แต่หมายถึง“ cd”?
ประมาณ 5 ครั้งต่อวันฉันพิมพ์ "vi" เมื่อฉันหมายถึง "cd" และท้ายที่สุดเปิดไดเรกทอรีใน vi มันทำให้ฉันถั่ว ดูเหมือนว่าควรมีวิธีการตรวจสอบเมื่อฉันพิมพ์ใน "vi + directory" และเปลี่ยนเป็น "cd + directory" โดยอัตโนมัติ คิด?
21 bash  shell  alias  cd-command 

4
นามแฝงในแผ่นซีดีในไดเรกทอรีและเรียกคำสั่ง
ฉันมี.bash_profileและในที่ฉันมีชุดของนามแฝง นามแฝงเหล่านั้นในขณะนี้ดำเนินการเพียงคำสั่งเดียวและมันค่อนข้างง่าย อย่างไรก็ตามฉันต้องการทำสองสิ่งด้วยนามแฝงใหม่ที่ฉันพยายามสร้าง ซีดีลงในไดเรกทอรี เรียกใช้คำสั่งจากไดเรกทอรีนั้น
21 bash  alias  cd-command 

6
เหตุใดจึงไม่แนะนำให้ใช้นามแฝงเหนือคำสั่งมาตรฐาน
ตัวอย่างเช่นนามแฝงทั่วไปที่ฉันเคยเห็นใน~/.bashrcไฟล์ (หรือเทียบเท่า) คือ alias rm='rm -i' อย่างไรก็ตามฉันเคยเห็นคนแนะนำเรื่องนี้เพราะ นามแฝงอาจไม่มีอยู่ในระบบอื่นและเนื่องจากคุณไม่ประมาทrmคุณจะลบสิ่งที่สำคัญโดยไม่ได้ตั้งใจ [1] โดยการใช้นามแฝงนี้คุณจะฝึกตัวเองให้พิมพ์yหรือyesตามrmคำสั่งทุกคำสั่งซึ่งเอาชนะวัตถุประสงค์ทั้งหมด มีเหตุผลอื่นอีกไหมที่แนะนำเรื่องนี้? อาจมีบางโปรแกรมที่โทรไปหาrmแทนที่จะใช้ชื่อแทน\rmอาจทำให้เกิดปัญหาได้ ฉันใช้rmเป็นเพียงตัวอย่าง แต่ฉันเห็นคำสั่งอื่น ๆ เช่นcpหรือmvครอบคลุมโดยนามแฝงเช่นกัน โดยส่วนตัวฉันค่อย ๆ ฝึกฝนตัวเองให้ใช้นามแฝงแบบนี้แทนrm -i: alias trash=`mv -v -t $HOME/.Trash`

2
ลิงก์สัญลักษณ์ / ซอฟต์คล้ายกับช็อตคัต / นามแฝงบนเดสก์ท็อปหรือไม่
ฟังดูแล้วว่าฉันชอบแนวคิดพื้นฐานของลิงค์ซอฟต์ / สัญลักษณ์เปรียบเทียบกับทางลัด (บนพีซี) หรือชื่อแทน (บน Mac) นั้นเป็นสิ่งเดียวกัน ฉันจะไปทางไหน? พวกเขาเหมือนกันหรือไม่
19 alias  symlink 


5
วิธีการตั้งค่านามแฝงในแต่ละไดเรกทอรี?
สมมติว่าคุณมีนามแฝงgoแต่ต้องการให้ทำสิ่งต่าง ๆ ในไดเรกทอรีที่ต่างกันหรือไม่ ในไดเรกทอรีหนึ่งควรรันcmd1แต่ในอีกไดเรกทอรีหนึ่งควรรันcmd2 อย่างไรก็ตามฉันมีชื่อแทนสำหรับการเปลี่ยนไปยังไดเรกทอรีด้านบนแล้วดังนั้นจึงเป็นไปได้ที่จะผนวกการgoมอบหมายนามแฝงเข้ากับfooนามแฝง alias "foo=cd /path/to/foo" ทำงานใน bash (?) บน OSX

2
จะเรียกนามแฝงที่หายไปได้อย่างไร
ฉันสร้างคำสั่ง echo ไปที่ไฟล์. bash_aliases ของฉันและลบนามแฝงทั้งหมดของฉันยกเว้น alias ทดสอบ อย่างไรก็ตามฉันยังคงเปิดเซสชันที่มีชื่อแทนโหลดไว้ (ใน tcl?) ฉันสามารถดึงพวกมันออกจากเซสชั่นนี้ได้หรือไม่?

3
ฉันจะข้ามนามแฝงชั่วคราวใน tcsh ได้อย่างไร
ฉันกำลังใช้ tcsh ทุบตีและ zsh และข้อเสนอแนะอื่น ๆ จะไม่ช่วยที่นี่ ฉันมีนามแฝงหลายชื่อที่มีชื่อเดียวกันกับคำสั่งอื่นดังนั้นถ้าฉันทำ unalias ให้พิมพ์สิ่งเดียวกันตอนนี้จะทำสิ่งที่แตกต่าง ส่วนใหญ่เวลาที่ฉันต้องการคำสั่ง aliased ซึ่งเป็นสาเหตุที่ฉันมีพวกเขา อย่างไรก็ตามบางครั้งฉันต้องการคำสั่ง unaliased หากไม่มีการยกเลิกการกำหนดและการกำหนดคำสั่งใหม่จริง ๆ มีวิธีง่าย ๆ ในการบอก tcsh ให้ใช้คำสั่ง unaliased แทนหรือไม่ ตัวอย่างเช่น vi มีนามแฝงเป็นกลุ่ม แต่บางครั้งฉันต้องการใช้ vi cd เป็นชื่อแทนการเปลี่ยนชื่อหน้าต่างของฉัน แต่บางครั้งฉันต้องการทิ้งไว้คนเดียว เห็นได้ชัดว่าฉันสามารถพิมพ์ / usr / bin / vi แต่เนื่องจาก cd เป็นคำสั่งในตัวเชลล์จึงไม่เทียบเท่า มีวิธีแก้ปัญหาทั่วไปหรือไม่?
17 shell  alias  tcsh 

2
เปลี่ยนไดเรกทอรีโดยไม่ต้องพิมพ์ cd?
มันเป็นไปได้ที่จะทำให้การเปลี่ยนไดเรกทอรีทุบตีในบรรทัดคำสั่งง่ายๆโดยพิมพ์ไดเรกทอรีว่าไม่มีคำสั่งใด ๆ เช่นcd? ตัวอย่างเช่นเป็นไปได้แทนที่จะเขียนสิ่งนี้: $ cd /tmp ฉันแค่อยากจะเขียนสิ่งนี้เท่านั้น: $ /tmp กล่าวอีกนัยหนึ่งถ้าฉันเรียกไดเรกทอรีเป็นแอปพลิเคชันแล้วฉันต้องการตั้งค่าไดเรกทอรีนั้นเป็นไดเรกทอรีที่ใช้งานได้

2
นามแฝงและฟังก์ชั่น
จากคู่มือทุบตี กฎที่เกี่ยวข้องกับคำจำกัดความและการใช้นามแฝงค่อนข้างสับสน Bash จะอ่านบรรทัดที่สมบูรณ์อย่างน้อยหนึ่งรายการก่อนดำเนินการคำสั่งใด ๆ ในบรรทัดนั้น นามแฝงจะถูกขยายเมื่อคำสั่งถูกอ่านไม่ใช่เมื่อถูกเรียกใช้งาน ดังนั้นคำนิยามนามแฝงที่ปรากฏบนบรรทัดเดียวกันกับคำสั่งอื่นจะไม่มีผลจนกว่าจะอ่านบรรทัดอินพุตถัดไป คำสั่งที่ตามหลังนิยาม alias บนบรรทัดนั้นจะไม่ได้รับผลกระทบจาก alias ใหม่ ลักษณะการทำงานนี้ยังเป็นปัญหาเมื่อใช้งานฟังก์ชัน นามแฝงจะถูกขยายเมื่อคำจำกัดความฟังก์ชั่นการอ่านไม่ได้เมื่อฟังก์ชั่นการดำเนินการเพราะคำนิยามฟังก์ชั่นเป็นตัวเองคำสั่งผสม เป็นผลให้, นามแฝงที่กำหนดในฟังก์ชั่นจะไม่สามารถใช้งานได้จนกว่าจะมีการใช้งานฟังก์ชันดังกล่าว เพื่อความปลอดภัยให้ใส่คำจำกัดความของนามแฝงบนบรรทัดแยกต่างหากเสมอและห้ามใช้นามแฝงในคำสั่งผสม ประโยคสองประโยค "นามแฝงถูกขยายเมื่อนิยามฟังก์ชันถูกอ่านไม่ใช่เมื่อเรียกใช้ฟังก์ชัน" และ "นามแฝงที่กำหนดในฟังก์ชันไม่พร้อมใช้งานจนกว่าหลังจากฟังก์ชันนั้นถูกเรียกใช้งาน" ดูเหมือนจะขัดแย้งกัน คุณสามารถอธิบายสิ่งที่พวกเขาหมายถึงตามลำดับ?
17 bash  alias  function 

4
การใช้นามแฝงการวางระเบิดในระดับโลกจะป้องกันไม่ให้มีการดำเนินการหรือไม่
ถ้าคุณจะตั้งทั่วโลก alias ':(){ :|:& };:'='echo fork bomb averted' นั่นจะเป็นกลยุทธ์ด้านความปลอดภัยที่มีประสิทธิภาพเพื่อหลีกเลี่ยงการประหารชีวิต Bash fork หรือจะมีวิธีในการดำเนินการหรือไม่? ฉันคิดว่าคำถามเป็นเงินสดออกไป: มีวิธีดำเนินการคำสั่งเมื่อมันเป็นนามแฝงกับสิ่งอื่นหรือไม่?
15 bash  security  alias 

1
นามแฝงหนึ่งส่งผลกระทบต่อนามแฝงอื่นหรือไม่
ฉันยังไม่ได้ตั้งชื่อแทนจำนวนมากในไฟล์. bash_aliases ของฉัน ฉันเพิ่งค้นพบว่ามีประโยชน์เพียงใด ฉันเห็นว่าตัวเองค่อนข้างติดใจนามแฝงดังนั้นก่อนที่ไฟล์จะเทอะทะเกินไปฉันอยากจะอธิบายอะไรบางอย่างโดยถามคำถามง่าย ๆ นามแฝงหนึ่งส่งผลกระทบต่ออีกชื่อหนึ่งหรือนามแฝงกลับไปเป็นคำสั่งเดิมเสมอหรือไม่? ตัวอย่างอาจทำให้ชัดเจนมากขึ้น: ฉันได้นามแฝงls ls -lFสมมติว่าผมอยากจะยังนามแฝงdเพื่อls -l | grep -E "^d": ไม่dตอนนี้ใช้ls -lFในสถานที่ของls? ถ้าเป็นเช่นนั้นมันเป็นเรื่องของการสั่งซื้อในไฟล์การกำหนดค่า. bash_aliases หรือไม่? man alias ไม่ได้สอนฉัน
14 bash  alias 

5
มี xargs ใช้นามแฝงแทนไบนารี
Bash 4.2 บน CentOS 6.5: ในตัวฉัน~/.bash_profileฉันมีนามแฝงมากมายรวมไปถึง: alias grep='grep -n --color=always' grepเพื่อที่ฉันจะได้รับการเน้นสีและพิมพ์หมายเลขบรรทัดโดยอัตโนมัติเมื่อใช้งาน หากฉันเรียกใช้สิ่งต่อไปนี้การเน้นงานเป็นไปตามที่คาดไว้ $ grep -Re 'regex_here' *.py อย่างไรก็ตามเมื่อฉันวิ่งเร็ว ๆ นี้: $ find . -name '*.py' | xargs grep -E 'regex_here' ผลที่ไม่ได้เน้นและหมายเลขบรรทัดไม่ถูกพิมพ์, บังคับให้ฉันกลับไปและเพิ่มอย่างชัดเจน-n --color=alwaysกับgrepคำสั่ง ไม่xargsอ่านนามแฝงในสภาพแวดล้อมหรือไม่? ถ้าไม่มีมีวิธีที่จะทำเช่นนั้นหรือไม่?
14 bash  alias  xargs 

1
การตั้งค่านามแฝงทุบตีชั่วคราวเมื่อเข้าสู่โฟลเดอร์
บางครั้งฉันชอบที่จะมีนามแฝงทุบตีที่กำหนดเองมากและอาจจะเป็นปุ่มลัดเมื่อฉันป้อนในโฟลเดอร์ (อาจเป็นโครงการที่ฉันเคยพิมพ์คำสั่งจำนวนมากจาก CLI) ให้สมมติว่าเมื่อฉันป้อนโฟลเดอร์เช่น "projectAlpha /" ฉันคาดหวังชื่อแทนที่กำหนดเองเช่น: alias doTaskX='./app arg1 arg2...|filter arg1 arg2...' ... ยิ่งกว่านั้นฉันคิดว่า: แสดงข้อความที่เป็นประโยชน์แสดงนามแฝงและคำสั่งทั่วไป แสดง keybindings ที่กำหนดเองทั่วไปบางอย่างสำหรับโครงการของฉัน แต่ทันทีที่ฉันออกจากโครงการของฉันการตั้งค่าเหล่านี้จะไม่สามารถใช้ได้ วิธีที่ดีที่สุดที่จะทำวันนี้คืออะไร?
13 bash  shell  alias 

3
ล้างหรือปิดใช้งานนามแฝงใน zsh
ฉันติดตั้ง oh-my-zsh เพื่อทำให้เทอร์มินัลใช้งานได้ง่ายขึ้นเล็กน้อย สิ่งหนึ่งที่ทำให้ฉันเป็นข้อผิดพลาดคือนามแฝงที่เพิ่มเข้ามาเช่น "ga", "gap", "gcmsg", "_" ซึ่งจำยากกว่าคำสั่งเดิมและทำให้ตารางแฮชคำสั่งสกปรก ดังนั้นมีวิธีการปิดใช้งานนามแฝงทั้งหมดหรือไม่ หรือวิธีล้างชื่อแทนทั้งหมดเพื่อให้ฉันสามารถใส่ไว้ในของฉันได้.zshrcอย่างไร
12 shell  zsh  alias  oh-my-zsh 

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