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

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

4
วางข้อความไว้ด้านหน้าบรรทัดใหม่ทุกบรรทัดที่โปรแกรมพิมพ์ไปยัง stdout
ดังนั้นฉันต้องการบันทึกบางอย่างและต้องการใส่วันที่หน้าเอาต์พุตสคริปต์ของ bash ปัญหาคือมีเอาต์พุตหลายบรรทัด ฉันสามารถใส่วันที่ก่อนหน้าผลลัพธ์ทั้งหมดเท่านั้น แต่ฉันมีบรรทัดที่ไม่มีวันที่ในบันทึก แน่นอนฉันสามารถสมมติวันที่จากบรรทัดด้านบนได้เหมือนกัน แต่ฉันหวังว่าจะมีทางออก ขอบคุณล่วงหน้า! นี่คือสคริปต์ของฉันที่เรียกใช้สคริปต์อื่น: #!/bin/sh echo $(date "+%F %T") : starting script echo $(date "+%F %T") : $(./script.sh) echo $(date "+%F %T") :script ended นี่คือผลลัพธ์: 2012-07-26 15:34:12 : starting script 2012-07-26 15:35:14 : First line of output second line of output 2012-07-26 15:35:17 : script …
9 bash  date 

4
เครื่องมือ Unix: จะเกิดอะไรขึ้นถ้าไฟล์ชื่อมีอะไรลบ?
ฉันมักจะสงสัยอยู่เสมอ: เครื่องมือ GNU / Unix ส่วนใหญ่ใช้ตัวเลือกในรูปแบบ "ลบบางอย่าง" บางครั้งตามด้วยการโต้แย้ง ถ้าคุณมีไฟล์ชื่อลบด้วยอะไร $ ls -f $ rm -f $ ls -f $ mv -f abc mv: missing destination file operand after `abc' Try `mv --help' for more information. $ cat -f cat: invalid option -- 'f' Try `cat --help' for more information. หรือ …

4
Gnome: เปลี่ยนชื่อของเทอร์มินัลปัจจุบันจากบรรทัดคำสั่ง bash
ฉันรู้ว่ามีตัวเลือกให้เริ่มต้นเทอร์มินัลใหม่ด้วยชื่อที่ระบุและเป็นไปได้ที่จะเปลี่ยนชื่อจากเทอร์มินัลโดยใช้เมนู: 'Terminal' -> Set Title อย่างไรก็ตามฉันต้องการเปลี่ยนเป็นเทอร์มินัลปัจจุบันจากบรรทัดคำสั่ง ฉันจะเปลี่ยนชื่อสำหรับเทอร์มินัล Gnome ที่มีอยู่จากบรรทัดคำสั่งได้อย่างไร

8
มีวิธีข้ามไปยังส่วนก่อนหน้าของคำสั่งบรรทัดคำสั่งใน Mac Terminal หรือไม่
ฉันมักจะพบว่าตัวเองเขียนคำสั่งยาว ๆ ใน bash shell - สิ่งที่มีข้อโต้แย้งมากมายที่อยู่เว็บเส้นทางและอื่น ๆ บ่อยครั้งที่ฉันจะรู้ว่าฉันลืมพูดวาง "bundle exec" ของฉันที่จุดเริ่มต้นของคำสั่งหรือสะกดผิดบางสิ่งบางอย่างหรือลืมคำพูด หรือบางสิ่งบางอย่างเพียงวาง "cd" แทน "vim" ดังนั้นเริ่มต้นกระบวนการที่น่าเบื่อในการกดปุ่มลูกศรซ้ายจนกว่าฉันจะกลับไปที่จุดเริ่มต้นของคำสั่ง มีวิธีใดบ้างที่จะข้ามไปยังจุดเริ่มต้นของบรรทัดอีกครั้งหรือไม่?
9 macos  mac  bash  terminal 


1
วิธีง่ายๆในการสลับตัวอักษรในบรรทัดคำสั่งด้วยการผูกกุญแจ emacs?
หากฉันอยู่ใน vi และฉันเห็นว่าฉันได้ย้ายอักขระสองตัวไปแล้วมันจะถูกแก้ไขได้อย่างง่ายดายโดยการวางเคอร์เซอร์ไว้ที่ตำแหน่งแรกแล้วพิมพ์xตามด้วยpในโหมดคำสั่ง มีกลอุบายที่คล้ายกันที่ใช้งานได้ในบรรทัดคำสั่ง bash ในโหมด emacs หรือไม่? ฉันรู้ว่าฉันสามารถตั้งค่าการผูกคีย์ vi ได้ แต่ฉันไม่ต้องการทำเช่นนั้นเนื่องจากการผูกกุญแจ emacs เป็นค่าเริ่มต้นสำหรับบรรทัดคำสั่งจำนวนมากในชีวิตของฉัน

3
คุณจะกำหนดคำสั่งที่เกิดขึ้นจริงที่ส่งเข้าไปในตัวคุณได้อย่างไร?
log.shสมมติว่าผมมีสคริปต์ทุบตีที่เรียกว่า ในสคริปต์นี้ฉันต้องการอ่านอินพุตจากไพพ์ แต่ฉันต้องการทราบคำสั่งที่ใช้เพื่อไพพ์อินพุตให้ฉันด้วย ตัวอย่าง: tail -f /var/log/httpd/error | log.sh ในสคริปต์เปลือก, tail -f /var/log/httpd/errorฉันต้องการทราบคำสั่ง
9 linux  bash  pipe 

1
ฉันจะแก้ไขการตัดคำพร้อมรับคำทุบตีสีได้อย่างไร
ฉันได้กำหนดพรอมต์ bash (โดยใช้ PROMPT_FUNCTION) ดังนี้: function get_hg_prompt_prefix() { local APPLIED_COLOR=$1; shift local UNAPPLIED_COLOR=$1; shift local ALERT_COLOUR=$1; shift local TEXTCOLOR=$1; shift local mercurial_prompt_line="{{patches|join(:)|pre_applied(${APPLIED_COLOR})|post_applied(${TEXTCOLOR})|pre_unapplied(${UNAPPLIED_COLOR})|post_unapplied(${TEXTCOLOR})}\n\r}" local mercurial_status_prompt="{ ${ALERT_COLOUR}{status}${TEXTCOLOR}}" echo "$(hg prompt "${mercurial_prompt_line}" 2>/dev/null)$(hg prompt "${mercurial_status_prompt}" 2>/dev/null)" } function set_prompt() { bright='\[[01m\]' colors_reset='\[[00m\]' HOSTCOLOR=${colors_reset}='\[[34m\]' USERCOLOR=${colors_reset}='\[[01m\]' TEXTCOLOR=${colors_reset}='\[[32m\]' APPLIED_COLOR=${colors_reset}='\[[32m\]' UNAPPLIED_COLOR=${colors_reset}='\[[37m\]' ALERT_COLOUR=${colors_reset}='\[[31m\]' hg_status="$(get_hg_prompt_prefix $APPLIED_COLOR $UNAPPLIED_COLOR $ALERT_COLOUR $TEXTCOLOR)" …
9 bash 

3
จะตรวจสอบว่าสายไฟเชื่อมต่อจากบรรทัดคำสั่งได้อย่างไร?
ฉันกำลังใช้งาน Ubuntu บนโน้ตบุ๊กและฉันต้องการวิธีตรวจสอบ (จากบรรทัดคำสั่ง) หากเชื่อมต่อสายไฟแล้ว มีไฟล์ระบบใดบ้างที่เก็บบันทึกนี้? หรือมีคำสั่ง bash ที่จะช่วยฉันได้อย่างไร ฉันต้องการสิ่งนี้สำหรับสคริปต์ที่จะทำงานแตกต่างกันไปขึ้นอยู่กับว่าเสียบสายไฟหรือไม่
9 ubuntu  bash  battery 

3
Bash เติมข้อความอัตโนมัติเพิ่ม Trailing Slash After Filename
ฉันเพิ่งอัพเกรดระบบจาก Etch เป็น Lenny ตอนนี้เมื่อฉันใช้การเติมข้อมูลอัตโนมัติชื่อไฟล์ (ไม่ใช่ไดเรกทอรี) จะปรากฏขึ้นพร้อมกับเครื่องหมายสแลชต่อท้ายบนบรรทัดคำสั่ง ดูเหมือนว่าจะเกี่ยวข้องกับคำสั่งหลายคำสั่ง (ทั้งหมด?) ฉันพยายามไม่กี่: aj@mmdev0:~/loadtest$ vi pyloadtools3.py/ aj@mmdev0:~/loadtest$ cat pyloadtools3.py/ aj@mmdev0:~/loadtest$ file pyloadtools3.py/ aj@mmdev0:~/loadtest$ ls -al pyloadtools3.py/ ฉันจะแก้ไขได้อย่างไร

1
การประมวลผลเสร็จสิ้น bash ไม่ดีวิธีการแก้ปัญหา?
ทุกอย่างเริ่มต้นด้วยวิธีง่าย ๆ alias gv='gvim --remote-quiet' และตอนนี้gv Space Tabไม่ได้ให้สิ่งใดตามที่ควรให้ชื่อไฟล์ ผิดปกติ alias gvi='gvim --remote-quiet' ทำงานตามที่คาดไว้ ฉันมีวิธีแก้ปัญหาอย่างชัดเจน แต่ฉันต้องการทราบว่าอะไรคือสิ่งที่ทำให้ฉันgvต้องดำเนินการพิเศษ compoptไม่มีความช่วยเหลือในการgvแชร์การตั้งค่าเดียวกันกับการlsเติมชื่อไฟล์ให้ถูกต้อง $compopt gv compopt +o bashdefault +o default +o dirnames -o filenames +o nospace +o plusdirs gv $ compopt ls compopt +o bashdefault +o default +o dirnames -o filenames +o nospace +o plusdirs ls completeคำสั่งที่เป็นประโยชน์มากขึ้นเล็กน้อย …

2
ฉันจะตั้งค่าการเลื่อนประวัติ BASH ของฉันให้กรองตามสิ่งที่ฉันได้พิมพ์ไปแล้วได้อย่างไร
รับประวัติคำสั่ง: 1 pwd 2 mysql -u root -p 3 ps -ef | more 4 top 5 mysql -h 192.168.1.101 -u root -p เมื่อคุณกดลูกศรขึ้นคุณจะเลื่อนดูคำสั่งเหล่านั้นทั้งหมด ฉันเคยอ่านมันมาก่อน (และทำในพีซีที่ทำงานของฉัน) ที่คุณสามารถตั้งค่า BASH เช่นนั้นเมื่อฉันพิมพ์ครั้งแรกpจากนั้นกดลูกศรขึ้นมันจะเลื่อนคำสั่งทั้งหมดในประวัติศาสตร์ที่ขึ้นต้นด้วย "p" เท่านั้น ( pwdและps -ef | more) เมื่อฉันพิมพ์mysqlจากนั้นกดขึ้นแล้วมันจะเลื่อนดูคำสั่งทั้งหมดที่ขึ้นต้นด้วย "mysql" เท่านั้น ฉันต้องการตั้งค่าแล็ปท็อปให้ใช้ แต่ฉันไม่สามารถหาคำแนะนำได้อีก
9 linux  bash  history 

2
การค้นหาลิงก์สัญลักษณ์และฮาร์ดทั้งหมดไปยังไฟล์บน UNIX
หากฉันมีไฟล์เฉพาะในระบบไฟล์ UNIX มีวิธีใช้ bash เพื่อค้นหาลิงก์ทั้งหมดไปยังไฟล์นั้นทั้งสัญลักษณ์และฮาร์ดไดรฟ์หรือไม่? หากฉันต้องการคำสั่งที่แตกต่างกันสำหรับแต่ละรายการพวกเขาคืออะไร

3
ใช้ทุบตีโดยไม่ต้องใช้ปุ่มลูกศร
ฉันใช้ทุบตีบนเครื่องเสมือน ด้วยเหตุผลบางอย่างปุ่มลูกศรไม่ทำงานที่นั่น เป็นไปได้ไหมที่จะใช้การรวมคีย์อื่น ๆ (เช่น HJKL ใน vi) เพื่อเลื่อนไปทางซ้าย / ขวา / ขึ้น / ลง? (เป็น OpenBSD ถ้าช่วยได้) แก้ไข: ฉันจะเพิ่มด้วยฉันรู้ว่าทำไมพวกเขาไม่ทำงานและมันไม่สามารถแก้ไขได้มาก (และไม่ใช่ปัญหาที่ฉันต้องการแก้ไขในตอนนี้)
9 bash 

4
Bash Shell Tutorials [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ใช้ขั้นสูง ปิดให้บริการใน6 ปีที่ผ่านมา อะไรคือบทเรียนการทุบตีที่ดี? ฉันต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่ง bash shells และวิธีใช้

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