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

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

14
ใน Bash เมื่อนามแฝงเมื่อสคริปต์และเมื่อใดที่จะเขียนฟังก์ชั่น?
ฉันใช้งาน Linux มาเกือบ 10 ปีแล้วเพื่อถามคำถามนี้ มันเป็นการทดลองและข้อผิดพลาดทั้งหมดและการท่องอินเทอร์เน็ตแบบดึกดื่น แต่ผู้คนไม่ควรต้องการ 10 ปีสำหรับเรื่องนี้ ถ้าฉันเพิ่งเริ่มต้นด้วย Linux ฉันต้องการทราบว่าเมื่อใดจะใช้นามแฝงเวลาเขียนสคริปต์และเมื่อใดควรเขียนฟังก์ชัน ฉันใช้นามแฝงสำหรับการดำเนินการที่ง่ายมากที่ไม่มีข้อโต้แย้ง alias houston='cd /home/username/.scripts/' ดูเหมือนว่าชัดเจน แต่บางคนทำสิ่งนี้: alias command="bash bashscriptname" (และเพิ่มลงใน.bashrcไฟล์) มีเหตุผลที่ดีที่จะทำเช่นนั้น? ฉันพยายามอย่างหนักจริง ๆ แต่ฉันไม่สามารถนึกถึงสถานการณ์ใด ๆ ที่ฉันต้องการจะทำอย่างแท้จริง ดังนั้นหากมีกรณีขอบที่จะสร้างความแตกต่างโปรดตอบด้านล่าง เพราะนั่นคือสิ่งที่ฉันจะใส่บางสิ่งใน PATH ของฉันchmod +xซึ่งเป็นอีกสิ่งหนึ่งที่เกิดขึ้นหลังจากการทดลองและข้อผิดพลาดของ Linux มาหลายปี ซึ่งนำฉันไปยังหัวข้อถัดไป ตัวอย่างเช่นฉันเพิ่มโฟลเดอร์ที่ซ่อนอยู่ ( .scripts/) ในโฮมไดเร็กตอรี่ไปที่ PATH ของฉันโดยเพิ่มบรรทัดลงใน.bashrc( PATH=$PATH:/home/username/.scripts/) ของฉันดังนั้นสิ่งใดที่ปฏิบัติการได้ในการเติมข้อความอัตโนมัติโดยอัตโนมัติ ถ้าฉันต้องการ ฉันไม่ต้องการสิ่งนั้นจริง ๆ ใช่ไหม? ฉันจะใช้เฉพาะสำหรับภาษาที่ไม่ใช่เปลือกเช่น Python …

19
วิธีการมีหาง -f แสดงเอาต์พุตสี
ฉันต้องการที่จะสามารถส่งออกของไฟล์บันทึกเซิร์ฟเวอร์ที่มีข้อความเช่น: INFO SEVERE ฯลฯ และถ้าเป็นSEVEREเช่นนั้นแสดงบรรทัดเป็นสีแดง ถ้าเป็นINFOสีเขียว ฉันสามารถตั้งค่านามแฝงประเภทใดสำหรับtailคำสั่งที่จะช่วยฉันทำสิ่งนี้

5
ทำไมสคริปต์ Bash ของฉันไม่รู้จักชื่อแทน
ใน~/.bashrcไฟล์ของฉันอยู่สองคำจำกัดความ: commandAซึ่งเป็นชื่อแทนไปยังเส้นทางที่ยาวกว่า commandBซึ่งเป็นชื่อแทนสคริปต์ Bash ฉันต้องการประมวลผลไฟล์เดียวกันด้วยสองคำสั่งดังนั้นฉันจึงเขียนสคริปต์ Bash ต่อไปนี้: #!/bin/bash for file in "$@" do commandA $file commandB $file done แม้หลังจากออกจากระบบและเข้าสู่ระบบใหม่ Bash จะแจ้งให้ฉันทราบcommand not foundข้อผิดพลาดสำหรับคำสั่งทั้งสองเมื่อฉันเรียกใช้สคริปต์นี้ ผมทำอะไรผิดหรือเปล่า?
216 bash  alias 

6
เรียกใช้คำสั่งที่มีเงาโดยนามแฝง
สมมติว่าฉันมีนามแฝงต่อไปนี้ในทุบตี - alias ls='ls --color=auto'- และฉันต้องการโทรธรรมดาlsโดยไม่มีตัวเลือก เป็นวิธีเดียวที่จะทำเช่นนั้นคือ unalias ทำคำสั่งแล้วนามแฝงอีกครั้ง? หรือมีเคล็ดลับหรือวิธีแก้ปัญหาที่ดี?
163 bash  shell  alias 

30
การนำทางไดเรกทอรีอย่างรวดเร็วใน bash shell
ผมอยากจะบ่อยสลับไปมาระหว่างไดเรกทอรีที่อยู่ในเส้นทางที่ไม่เกี่ยวข้องกันโดยสิ้นเชิงเช่นและ/Project/Warnest/docs/~/Dropbox/Projects/ds/test/ แต่ฉันไม่ต้องการพิมพ์cd /[full-path]/ตลอดเวลา มีคำสั่งทางลัดเพื่อสลับไปยังไดเรกทอรีที่ใช้งานได้ก่อนหน้า ทางออกหนึ่งที่ฉันคิดได้คือการเพิ่มตัวแปรสภาพแวดล้อมให้bash .profileกับไดเรกทอรีที่ใช้บ่อยและcdเพื่อให้พวกเขาใช้ตัวแปรเหล่านั้น แต่มีวิธีอื่นในการนี้หรือไม่?


7
วิธีการใช้ `ซึ่ง` กับคำสั่ง aliased?
เช่นเดียวกับผู้ใช้ส่วนใหญ่ฉันมีการตั้งค่านามแฝงมากมายเพื่อให้ชุดธงเริ่มต้นสำหรับโปรแกรมที่ใช้บ่อย ตัวอย่างเช่น alias vim='vim -X' alias grep='grep -E' alias ls='ls -G' ปัญหาคือถ้าฉันต้องการใช้whichเพื่อดูว่าvim/ grep/ ls/ / etc ของฉันมาจากไหนนามแฝงที่ได้รับในทาง: $ which vim vim: aliased to vim -X นี่เป็นผลลัพธ์ที่มีประโยชน์ แต่ไม่ใช่สิ่งที่ฉันกำลังมองหาในกรณีนี้ ฉันรู้ว่าvimเป็นนามแฝงvim -Xแต่ฉันต้องการที่จะรู้ว่า vimมาจากไหน ขาดการกำหนดนามแฝงชั่วคราวเพียงเพื่อให้ฉันสามารถใช้whichกับมันได้หรือไม่มีวิธีง่าย ๆ ที่จะwhich'แกะ' นามแฝงและเรียกใช้ตัวมันเองหรือไม่? แก้ไข:ดูเหมือนว่าwhichเป็นตัวเชลล์ที่มีพฤติกรรมที่แตกต่างกันในแต่ละเชลล์ ใน Bash คำแนะนำของ SiegeX เกี่ยวกับการ--skip-aliasทำงานของธง; อย่างไรก็ตามฉันอยู่ใน Zsh มีสิ่งที่คล้ายกันอยู่ที่นั่นไหม?
76 shell  zsh  alias  which 

4
ดูการขยายนามแฝงคำสั่ง
หากเรียกใช้watchคำสั่งที่มีนามแฝงคำสั่งนั้นจะไม่ขยายนามแฝง ฉันได้ลองทั้งด้วยการเสนอราคาเดี่ยวและการเสนอราคาซ้ำโดยแท้จริงแล้วได้รับชื่อแทนดังต่อไปนี้ # alias ll alias ll='ls -l --color=tty' คำสั่งต่อไปนี้จะล้มเหลว # watch ll sh: ll: command not found ไม่ควรใช้การขยายบรรทัดคำสั่งในกรณีนี้
67 bash  alias 


5
ฉันจะได้รับ bash เสร็จสิ้นสำหรับนามแฝงคำสั่งได้อย่างไร
ฉันกำลังมองหาที่จะได้รับแท็บเสร็จในนามแฝงบรรทัดคำสั่งของฉันเช่นว่าฉันกำหนดนามแฝงต่อไปนี้: alias apt-inst='sudo aptitude install' มีวิธีรับความสำเร็จที่จัดทำโดยความถนัดเมื่อฉันกดปุ่มแท็บหรือไม่ นั่นคือเมื่อฉันเขียน 'sudo aptitude install gnumer' และแท็บ Hit ความถนัดจะทำสิ่งนี้ให้เป็น gnumeric หรือหากมีความไม่แน่นอนแสดงรายการแพ็คเกจทั้งหมดที่เริ่มต้นด้วย gnumer ถ้าฉันทำโดยใช้นามแฝงของฉันไม่มีอะไร - ไม่เสร็จ

3
รีเฟรช alias และฟังก์ชั่นใหม่หลังจากกำหนด alias และฟังก์ชั่นใหม่หรือไม่?
เมื่อฉันกำหนดนามแฝงใหม่ใน.bash_aliasesไฟล์หรือฟังก์ชั่นใหม่ใน.bashrcไฟล์มีคำสั่งรีเฟรชที่จะสามารถใช้นามแฝงหรือฟังก์ชั่นใหม่ได้ทันทีโดยไม่ต้องปิดเทอร์มินัล (ในกรณีของฉัน xfce4 เทอร์มินัล และในระหว่างการทำงาน)

5
ฉันจะสามารถ 'alias sudo !!' ได้อย่างไร?
ฉันกำลังพยายามตั้งชื่อแทนสำหรับsudo !!ใน Bash ฉันพยายามalias sbb='sudo !!'แต่มันตีความว่าเป็นตัวอักษร !!และภาพพิมพ์ sudo: !!: command not found ถ้าฉันใช้อัญประกาศคู่มันจะใช้แทนการทำซ้ำสองครั้งในสตริงของตัวเองดังนั้นจึงไม่ทำงาน มีวิธีการทำงานนี้หรือไม่? หรือชื่อแทนอื่น `

11
แสดงเฉพาะไฟล์ที่ซ่อนอยู่ (ไฟล์ dot) ในนามแฝง ls
ฉันกำลังใช้คำสั่ง ls -a | grep '^\.' เพื่อแสดงเฉพาะไฟล์ที่ซ่อนอยู่ ฉันเพิ่มบรรทัด alias hidden='ls -a | grep '^\.'' # show only hidden files ไปยัง.bash_aliasesไฟล์ แต่มันไม่ได้ผล มันอาจเป็นปัญหากับ'ตัวละคร คุณกรุณาช่วยฉันเขียนนามแฝงที่ถูกต้องได้ไหม
42 ls  alias  wildcards 

4
ฉันจะค้นหาประกาศนามแฝงปลอมได้อย่างไร
ฉันพยายามที่จะหาที่เฉพาะเจาะจงaliasได้รับการประกาศ ฉันได้ค้นหาสถานที่ตามปกติทั้งหมดที่ฉันรู้ว่าจะหาชื่อแทน: ~ / .bashrc ~ / .bash_profile / etc / bashrc / etc / รายละเอียด โดยไม่มีโชค ฉันรู้ว่ามันเป็นaliasเพราะเมื่อฉันทำwhich COMMANDฉันได้รับ: alias COMMAND='/path/to/command' /path/to/command มีวิธีการค้นหาไฟล์ที่ประกาศaliasเพียงรู้aliasชื่อหรือไม่?
37 bash  alias  bashrc 

4
มีไฟล์กำหนดค่า 'rc' สำหรับ grep / egrep หรือไม่ (~ / .egreprc?)
ฉันมักจะทำ grep เมื่อทำการพัฒนาและมีส่วนขยายบางอย่างที่ฉันไม่ต้องการค้นหา (เช่น * .pyc) เป็นไปได้ไหมที่จะสร้าง ~ / .egreprc หรืออะไรทำนองนั้นและทำให้การกรองบางอย่างไม่แสดงผลไฟล์ pyc เสมอ เป็นไปได้หรือฉันจะต้องสร้างนามแฝงสำหรับใช้ grep ในลักษณะนี้และเรียกนามแฝงแทน grep หรือไม่

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