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

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

11
'แหล่งที่มา' ทำอะไร
$ whatis source source: nothing appropriate. $ man source No manual entry for source $ source bash: source: filename argument required source: usage: source filename [arguments] มันมีอยู่และสามารถรันได้ ทำไมไม่มีเอกสารเกี่ยวกับเรื่องนี้ใน Ubuntu มันทำอะไร? ฉันจะติดตั้งเอกสารเกี่ยวกับมันได้อย่างไร


9
chown ไม่ได้เปลี่ยนลิงค์สัญลักษณ์
ฉันพยายามเปลี่ยนผู้ใช้ / กลุ่มของลิงก์สัญลักษณ์ด้วยคำสั่ง: $ chown -h myuser:mygroup mysymbolic/ แต่มันไม่เปลี่ยนแปลง ฉันเข้าสู่ระบบในฐานะ root ผู้ใช้ปัจจุบัน / กลุ่มถูกตั้งค่าเป็นรูท: รูท เกิดอะไรขึ้น

6
กลับไปที่ไดเรกทอรีก่อนหน้าในเชลล์
มีวิธีการย้อนกลับไปยังไดเรกทอรีก่อนหน้านี้ที่เราใช้ bash, tcsh โดยไม่ใช้ pushd / popd หรือไม่? ฉันต้องการพิมพ์บางอย่างเช่น "ย้อนกลับ" และกลับไปยังไดเรกทอรีก่อนหน้าที่ฉันอยู่ แก้ไข: "cd -" ใช้งานได้ แต่เฉพาะกับไดเรกทอรีปัจจุบันและก่อนหน้า อย่างไรก็ตามฉันสามารถกลับไปยังไดเรกทอรีก่อนหน้าก่อนหน้าเช่นวิธีที่คุณสามารถย้อนกลับไปยังเว็บเบราว์เซอร์ได้หรือไม่? ความนับถือ
306 linux  command-line  bash 

19
ฉันจะแยกกระบวนการออกจากเทอร์มินัลได้อย่างไร
ฉันใช้ Tilda (เทอร์มินัลแบบหล่นลง) บน Ubuntu เป็น "ศูนย์กลางคำสั่ง" ของฉัน - เป็นวิธีที่คนอื่น ๆ อาจใช้ GNOME Do, Quicksilver หรือ Launchy อย่างไรก็ตามฉันกำลังดิ้นรนกับวิธีแยกกระบวนการ (เช่น Firefox) ออกจากเทอร์มินัลอย่างสมบูรณ์ซึ่งเปิดตัวจาก - นั่นคือป้องกันกระบวนการลูก (ไม่ใช่ -) ดังกล่าว ถูกยกเลิกเมื่อปิดเทอร์มินัลต้นทาง "ก่อให้เกิดมลพิษ" ขั้วต้นทางผ่าน STDOUT / STDERR ตัวอย่างเช่นในการเริ่ม Vim ในหน้าต่างเทอร์มินัล "เหมาะสม" ฉันได้ลองใช้สคริปต์อย่างง่ายดังต่อไปนี้: exec gnome-terminal -e "vim $@" &> /dev/null & อย่างไรก็ตามยังคงทำให้เกิดมลภาวะ (เช่นกันการส่งชื่อไฟล์ไม่สามารถใช้งานได้)
304 linux  bash  shell  ubuntu  terminal 


9
ฉันจะเพิ่มข้อความไปยังจุดเริ่มต้นของไฟล์ใน Bash ได้อย่างไร
สวัสดีฉันต้องการที่จะเพิ่มข้อความลงในไฟล์ ตัวอย่างเช่นฉันต้องการเพิ่มงานไปยังจุดเริ่มต้นของไฟล์ todo.txt ฉันรู้echo 'task goes here' >> todo.txtแต่เพิ่มบรรทัดไปยังจุดสิ้นสุดของไฟล์ (ไม่ใช่สิ่งที่ฉันต้องการ)
285 bash 

7
อะไรคือความแตกต่างระหว่างการเรียกใช้งานสคริปต์ Bash เทียบกับการจัดหามัน
อะไรคือข้อแตกต่างระหว่างการเรียกใช้งานสคริปต์ Bash เช่น A และการจัดหาสคริปต์ Bash เช่น B A > ./myscript B > source myscript
282 linux  bash  script 

5
Bash: วนซ้ำบรรทัดในตัวแปร
หนึ่งจะทำซ้ำอย่างถูกต้องผ่านสายในทุบตีทั้งในตัวแปรหรือจากการส่งออกของคำสั่งได้อย่างไร เพียงแค่ตั้งค่าตัวแปร IFS ให้เป็นบรรทัดใหม่นั้นใช้งานได้กับเอาต์พุตของคำสั่ง แต่ไม่ใช่เมื่อทำการประมวลผลตัวแปรที่มีบรรทัดใหม่ ตัวอย่างเช่น #!/bin/bash list="One\ntwo\nthree\nfour" #Print the list with echo echo -e "echo: \n$list" #Set the field separator to new line IFS=$'\n' #Try to iterate over each line echo "For loop:" for item in $list do echo "Item: $item" done #Output the variable to a file echo …
225 bash 

7
ทำไม Ctrl + V ไม่วางใน Bash (เปลือก Linux)
เมื่อฉันคัดลอกบางสิ่งไปยังคลิปบอร์ดและกดCtrl+ Vใน Bash ไม่มีอะไรเกิดขึ้น อย่างไรก็ตามการคลิกขวาและเลือกวางจะทำงาน ทำไม? มีปัญหาที่สมเหตุสมผล (ฉันแน่ใจว่ามี) อยู่เบื้องหลังพฤติกรรมนี้ใน Linux หรือไม่?

11
ฉันพิมพ์รหัสผ่านโดยไม่ตั้งใจลงในบรรทัดคำสั่ง bash
ฉันตั้งใจพิมพ์รหัสผ่านของฉันเป็นบรรทัดคำสั่งทุบตีเข้าใจผิดLast login: ...สายWrong password(ผมอยู่ในรีบร้อน) ฉันจะทำอย่างไรเพื่อปกปิดร่องรอยของฉัน สิ่งที่ฉันทำคือการแก้ไข.bash_historyและลบบรรทัดที่ละเมิด (ต้องทำการ relogin อีกครั้งเพื่อดูรหัสผ่านปรากฏในไฟล์เพื่อให้ฉันสามารถลบได้และ relogin อีกครั้งเพื่อดูว่ามันหายไปจากประวัติที่มีอยู่ภายใต้คีย์ UPARROW) มีสถานที่อื่นที่สามารถบันทึกประวัติคำสั่งได้หรือไม่? ระบบคือ CentOS 6.5

3
การใช้นาฬิกากับท่อ
ฉันต้องการเรียกใช้คำสั่งนี้: watch -n 1 tail -n 200 log/site_dev.log | grep Doctrine แต่มันไม่ทำงานเพราะ "ฉันคิดว่า" grep พยายามวิ่งบนนาฬิกาแทนที่จะเป็นหาง ... มีวิธีทำอะไรบ้างไหม watch -n 1 (tail -n 200 log/site_dev.log | grep Doctrine) ขอบคุณมาก!
179 bash  grep  tail  watch 

5
ในทุบตีฉันจะหนีเครื่องหมายอัศเจรีย์ได้อย่างไร
ฉันต้องการทำบางสิ่งเช่น bzr commit -m "It works!". ฉันสามารถหลบหนีจากเครื่องหมายอัศเจรีย์ได้โดยทำ bzr commit -m "It works\!". อย่างไรก็ตามข้อความยืนยันของฉันรวมถึงแบ็กสแลช ฉันจะหลีกเลี่ยงเครื่องหมายอัศเจรีย์ในขณะที่ยังคงละเว้นเครื่องหมายแบ็กสแลชได้อย่างไร

9
จะทำอย่างไรเมื่อ Ctrl + C ไม่สามารถฆ่ากระบวนการได้
Ctrl+ Cไม่ทำงานเพื่อฆ่ากระบวนการปัจจุบันเสมอ (ตัวอย่างเช่นหากกระบวนการนั้นไม่ว่างในการดำเนินงานเครือข่ายบางอย่าง) ในกรณีนี้คุณเพิ่งเห็น "^ C" โดยเคอร์เซอร์ของคุณและไม่สามารถทำอะไรได้อีกมาก อะไรคือวิธีที่ง่ายที่สุดในการบังคับให้กระบวนการนั้นตายในตอนนี้โดยไม่สูญเสียเครื่อง? สรุปคำตอบ: โดยปกติคุณสามารถCtrl+ Zเพื่อทำให้กระบวนการเข้าสู่โหมดสลีปแล้วทำkill -9 _process-pid_ที่ซึ่งคุณพบ pid ของกระบวนการด้วยpsและเครื่องมืออื่น ๆ บนBash (และเปลือกหอยอื่น ๆ ) คุณสามารถทำkill -9 %1(หรือ '% N' โดยทั่วไป) ซึ่งทำได้ง่ายกว่า หากCtrl+ Zใช้งานไม่ได้คุณจะต้องเปิดเทอร์มินัลอื่นและฆ่าจากที่นั่น
171 linux  bash  shell 


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