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

Bash เป็นเชลล์ฟรีสำหรับระบบปฏิบัติการยูนิกซ์จากโครงการ GNU


3
ฉันจะแก้ไขข้อผิดพลาด Broken Pipe ได้อย่างไร
ฉันเพิ่งติดตั้ง RVM ใหม่ (ทำตามคำแนะนำที่http://rvm.io ) หลังจากติดตั้ง Ubuntu 12.10 ใหม่เมื่อฉันได้รับ SSD Drive ตอนนี้เมื่อฉันพิมพ์: type rvm | head -1 ฉันได้รับข้อผิดพลาดต่อไปนี้: rvm is a function -bash: type: write error: Broken pipe แต่ถ้าฉันทำซ้ำคำสั่งทันทีฉันก็จะได้รับ: rvm is a function และดูเหมือนว่าทุกอย่างก็โอเค เกิดอะไรขึ้น? ฉันจะแก้ไขได้อย่างไร มันไม่ได้เกิดขึ้นเสมอไป มันดูเหมือนจะเป็นระยะ ๆ ฉันพยายามที่จะหารูปแบบบางอย่าง แต่ยังไม่ได้
36 bash  ruby  .bash-profile  rvm 

7
คุณจะเปลี่ยนชุดสีใน bash บน Ubuntu สำหรับ Windows ได้อย่างไร?
ฉันพยายามสร้างชุดสีด้วยhttps://terminal.sexyและhttp://ciembor.github.io/4bit/แต่ฉันไม่สามารถรับการส่งออกใด ๆ ของพวกเขาที่จะทำงานร่วมกับทุบตีบน Ubuntu บน Windows วิธีการที่ถูกต้องในการปรับแต่งสีใน boUoW คืออะไร?


6
มีฟังก์ชั่น“ ค้นหาแบบย้อนกลับที่เพิ่มขึ้น” ใน Fish คล้ายกับ CTRL + R ของ Bash หรือไม่
ฉันประทับใจมากกับฟังก์ชั่นเติมข้อความอัตโนมัติของFish อย่างไรก็ตามมีคุณลักษณะหนึ่งใน Bash ที่ฉันไม่สามารถหาได้ใน Fish เมื่อคุณกดCtrl+ Rใน Bash และเริ่มพิมพ์คำศัพท์การค้นหาของคุณ.bash_historyจะทำการค้นหาแบบย้อนกลับ มีฟังก์ชั่นที่คล้ายกันในปลาหรือไม่?
36 bash  fish 

7
วิธีปิดการใช้งาน set -e สำหรับแต่ละคำสั่ง?
คำสั่ง set -e ทำให้สคริปต์ bash ล้มเหลวทันทีเมื่อคำสั่งใด ๆ ส่งคืนโค้ดออกที่ไม่ใช่ศูนย์ มีวิธีที่ง่ายและสง่างามในการปิดการทำงานนี้สำหรับคำสั่งแต่ละคำสั่งภายในสคริปต์หรือไม่? ฟังก์ชั่นนี้มีการบันทึกไว้ที่ไหนในคู่มืออ้างอิง Bash ( http://www.gnu.org/software/bash/manual/bashref.html )
36 bash 

2
อะไรคือ <() ใน bash (และ = () ใน zsh)?
ฉันค่อนข้างสบายใจกับทุบตี แต่เมื่อเร็ว ๆ นี้ฉันลงเอยด้วยการเปลี่ยนตัวที่ฉันไม่รู้ &lt;(&lt;command&gt;)ทุบตีอะไรกันแน่? มันเปรียบเทียบกับ=(&lt;command&gt;)in zsh อย่างไร ฉันเข้าใจว่าสิ่งนี้เกี่ยวข้องกับตัวอธิบายไฟล์เริ่มต้น ในคอมพิวเตอร์ของฉัน echo &lt;() กลับ/proc/self/fd/11มาซึ่งฉันพบว่าเป็นสำเนาของสคริปต์ STDOUT แต่นี่ก็ดูค่อนข้างสับสนสำหรับฉัน
36 linux  bash  shell  zsh 

3
ตัวแปรสภาวะแวดล้อมใน bash_profile หรือ bashrc?
ฉันพบคำถามนี้ [บล็อก]: ความแตกต่างระหว่าง. bashrc และ. bash_profileมีประโยชน์มาก แต่หลังจากเห็นคำตอบที่ได้รับการโหวตมากที่สุด (ดีมากโดยวิธีการ) ฉันมีคำถามเพิ่มเติม ในตอนท้ายของการโหวตมากที่สุดคำตอบที่ถูกต้องฉันเห็นข้อความดังต่อไปนี้: โปรดทราบว่าคุณอาจเห็นที่นี่และมีคำแนะนำให้ใส่คำจำกัดความตัวแปรสภาพแวดล้อมใน ~ / .bashrc หรือเปิดใช้เชลล์การเข้าสู่ระบบในเทอร์มินัลเสมอ ทั้งคู่เป็นความคิดที่ไม่ดี ทำไมมันเป็นความคิดที่ไม่ดี (ฉันไม่ได้พยายามจะต่อสู้ฉันแค่อยากจะเข้าใจ)? หากฉันต้องการตั้งค่าตัวแปรสภาพแวดล้อมและเพิ่มลงใน PATH (เช่น JAVA_HOME) ซึ่งเป็นสถานที่ที่ดีที่สุดในการใส่รายการส่งออก ใน~ / .bash_profileหรือ~ / .bashrc ? หากคำตอบของคำถามหมายเลข 2 คือ~ / .bash_profile แสดงว่าฉันมีคำถามอีกสองข้อ: 3.1 สิ่งที่คุณจะวางภายใต้~ / .bashrc ? นามแฝงเท่านั้น 3.2 ในเชลล์ที่ไม่ใช่การเข้าสู่ระบบฉันเชื่อว่า~ / .bash_profileไม่ได้ถูก "หยิบขึ้นมา" หากการส่งออกรายการ JAVA_HOME อยู่ใน bash_profile …

2
เปิดโปรแกรม terminal gnome โดยทางโปรแกรมและดำเนินการคำสั่งหลังจาก bashrc ถูกใช้งาน
สำหรับการเริ่มต้นสภาพแวดล้อม dev ของฉันฉันเขียนสคริปต์เล็กน้อย ส่วนหนึ่งคือการเปิดเทอร์มินัลคำพังเพยที่มีหลายแท็บโดยอัตโนมัติคำสั่งบางอย่างควรจะดำเนินการ บางคำสั่งเหล่านั้นขึ้นอยู่กับ. bashrc ที่ดำเนินการแล้ว แต่เมื่อใช้งาน gnome-terminal --tab -e "command" --tab --tab คำสั่งจะถูกดำเนินการก่อน. bashrc ถูกดำเนินการ มีความเป็นไปได้ไหมที่จะทำให้ gnome-terminal -e อัตโนมัติทำงานเหมือนใช้งานด้วยตนเอง? (คำสั่งที่เหมือนกันเช่น "cd / foo / bar" ไม่ทำงานกับ gnome-terminal -e)

1
คำสั่ง builtin ทำอะไรในการทุบตี?
ฉันรู้ว่าคำสั่ง builtin คืออะไร แต่builtinตัวเองทำอะไร? การดำเนินการwhich lsแสดงให้ฉัน/bin/lsแต่การดำเนินการwhich builtinส่งคืนอะไร man builtinbuiltinเพียงแค่ให้ฉันรายการของคำสั่งในตัวหนึ่งซึ่งเป็น ส่วนที่เหลือของหน้าคนอธิบายสิ่งที่สร้างขึ้น แต่ไม่ได้builtinเป็นอะไร builtin --helpบอกฉันbuiltin: usage: builtin [shell-builtin [arg ...]]แต่ก็ยังไม่ทำอะไร มันเป็นส่วนหนึ่งของทุบตีในลักษณะที่คำสั่ง builtin อื่นไม่ได้หรือไม่?
35 bash 

3
ไฟล์ประวัติสามารถรวมเป็นหนึ่งเดียวในทุบตี?
ฉันใช้หลายscreenครั้งบนเดสก์ท็อปและเซิร์ฟเวอร์ Linux เป็นประจำ ปัญหานี้คือเมื่อฉันgrepผ่านประวัติศาสตร์คำสั่งของฉันฉันพบว่าฉันออกคำสั่งในเซสชั่นที่แตกต่างกันและจะต้องแยกออกและแนบอีกครั้งเพื่อรับรายการประวัติที่ เป็นไปได้หรือไม่ที่จะ 'บังคับ' ประวัติศาสตร์ที่อัปเดตต่าง ๆ จากหลายเซสชันไปยังประวัติศาสตร์ส่วนกลาง?
35 linux  bash 

6
วิธีที่สะดวกสบายมากขึ้นในการแก้ไข $ PATH แบบยาวหรือไม่
ฉันต้องการเพิ่มใน ~ / .bashrc บางไดเรกทอรีไปยัง $ PATH ของฉัน $ PATH ของฉันค่อนข้างยาวดังนั้นจึงเป็นการยากที่จะดูว่าไดเรกทอรีใดที่มีอยู่และเรียงตามลำดับ ฉันรู้ว่าฉันสามารถแก้ไข ~ / .bashrc เป็น: PATH=$PATH:/some/dir PATH=$PATH:/another/dir:/yet/another PATH=$PATH:/and/another ... มันทำให้อ่านง่ายขึ้น แต่ฉันสงสัยว่าในช่วงปีที่ผ่านมา Bash ได้รับไวยากรณ์บางอย่างที่ทำให้การระบุ PATH นั้นง่ายขึ้นหรือไม่ เช่นฉันประหลาดใจเกี่ยวกับไวยากรณ์คล้ายกับ: PATH=:(( /some/dir /another/dir /yet/another /and/another ... )) ฉันรู้ว่าไวยากรณ์ดังกล่าวไม่ถูกต้อง ฉันสงสัยว่ามีบางอย่างที่ง่าย มีอะไรบ้าง
35 linux  bash  unix  path 

3
คำสั่ง: sudo su -
ฉันเข้าใจในสิ่งที่su -ทำ บันทึกคุณในรูทด้วยสภาวะแวดล้อมรูท (ตรงข้ามกับsuที่บันทึกคุณในการรูทด้วยสภาพแวดล้อมของคุณ) และฉันเข้าใจสิ่งที่sudoทำ คุณเป็น root สำหรับคำสั่งเดียว แต่ฉันไม่แน่ใจในสิ่งนี้: sudo su - ทุกคนสนใจที่จะชี้แจง
35 unix  bash  sudo  su 


3
สะท้อนข้อความด้วยบรรทัดใหม่ในทุบตี
ฉันต้องการที่จะเพิ่มข้อความลงในไฟล์ ดังนั้นฉันจึงเขียนเป็นทุบตี echo text &gt;&gt; file.conf อย่างไรก็ตามมันจะไม่ออกจากบรรทัดใหม่ ดังนั้นฉันสามารถทำได้เพียงครั้งเดียว ฉันจะเพิ่มบรรทัดใหม่ได้อย่างไร
35 linux  bash 

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