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

Bash (Bourne-Again SHell) เป็นเชลล์ที่ใช้ในอินเตอร์เฟสบรรทัดคำสั่งของ Ubuntu ตามค่าเริ่มต้น

5
วิธีนำทางคำสั่งยาว ๆ ให้เร็วขึ้น?
มีวิธีเร่งความเร็วการนำทาง Linux CLI หรือไม่เมื่อฉันต้องป้อนคำสั่งยาว ๆ ? ฉันเพียงแค่ใช้ลูกศรตอนนี้และ - ถ้าฉันมีคำสั่งยาวมันต้องใช้เวลาพอสมควรตั้งแต่เริ่มต้นของคำสั่งจนถึงตรงกลาง มีวิธีการเช่นข้ามไปที่ตรงกลางของคำสั่งโดยไม่ใช้ลูกศรหรือไม่
136 bash  command-line 

11
ฉันจะสร้างเมนูเลือกในเชลล์สคริปต์ได้อย่างไร
ฉันกำลังสร้างสคริปต์ทุบตีง่าย ๆ และฉันต้องการสร้างเมนูที่เลือกไว้ในนั้นเช่นนี้: $./script echo "Choose your option:" 1) Option 1 2) Option 2 3) Option 3 4) Quit และตามทางเลือกของผู้ใช้ฉันต้องการให้มีการดำเนินการที่แตกต่างกัน ฉันเป็นคนเขียนสคริปต์เปลือกหอยทุบตีฉันได้ค้นหาคำตอบบางอย่างในเว็บ แต่ไม่มีอะไรเป็นรูปธรรมจริงๆ

6
ซ่อนไดเรกทอรีการทำงานปัจจุบันในเทอร์มินัล
ตามค่าดีฟอลต์เทอร์มินัลพรอมต์จะแสดงข้อมูลดังนี้ user@system:/folder1/folder2/folder3/folder4$ ยิ่งคุณเข้าไปในระบบไฟล์ได้ลึกเท่าไหร่พื้นที่เหลือน้อยสำหรับการพิมพ์คำสั่ง ฉันสามารถเปลี่ยนสิ่งนี้เพื่อแสดงเฉพาะสิ่งที่ชอบ: > ฉันหมายถึงฉันสามารถพิมพ์pwdเพื่อแสดงว่าฉันอยู่ที่ไหน ;)
133 bash 

8
ฉันจะรับ mv (หรือ * wildcard) เพื่อย้ายไฟล์ที่ซ่อนได้อย่างไร
ฉันกำลังย้ายไดเรกทอรีบ้านของฉันจากระบบเก่าไปยังใหม่และ tarball ที่ฉันทำมีทุกอย่างรวมถึงไฟล์ที่ซ่อนเช่น. bashrc อย่างไรก็ตามเมื่อฉันย้ายเนื้อหาของ tarball ที่ไม่ได้แพ็ค (ซึ่งอยู่ใน / tmp) ไปยังโฮมไดเร็กตอรี่ใหม่ของฉันไฟล์ที่ซ่อนจะไม่คัดลอก ( mv /tmp/home/rcook/* /home/rcook/) ฉันจะทำให้ mv ย้ายได้อย่างไร อันที่จริงฉันคิดว่าปัญหาไม่ได้อยู่ที่ mv แต่มีปัญหาของการทุบตี ถ้าฉันทำสิ่งนี้: mkdir a mkdir b touch a/.foo touch a/bar mv a/* b/ ls -a a/ b/ ฉันเห็นสิ่งนี้: a/: . .. .foo b/: . .. bar a/.fooไม่ได้ย้าย ดังนั้นฉันจะรับ * wildcard …
133 command-line  bash 

7
วิธีอ่านบรรทัดทั้งหมดในลูป 'สำหรับ' พร้อมช่องว่าง
ฉันพยายามเรียกใช้forลูปสำหรับไฟล์และฉันต้องการแสดงทั้งบรรทัด แต่แทนที่จะแสดงคำสุดท้ายเท่านั้น ฉันต้องการเส้นสมบูรณ์ for j in `cat ./file_wget_med` do echo $j done ผลหลังจากรัน: Found. นี่คือข้อมูลของฉัน: $ cat file_wget_med 2013-09-11 14:27:03 ERROR 404: Not Found.

7
จะทำให้ ZSH เป็นเชลล์เริ่มต้นได้อย่างไร
ฉันพยายามที่จะตั้ง ZSH เป็นเปลือกเริ่มต้นของฉัน แต่มันก็กลับไปทุบตี ฉันได้ลองใช้รหัสนี้แล้ว: sudo chsh -s $(which zsh) ฉันยังลอง: sudo chsh -s /bin/zsh ลองคำสั่งเหล่านี้โดยไม่ใช้ sudo ความคิดเห็นใด ๆ เกี่ยวกับสิ่งอื่นที่ฉันต้องทำ เมื่อรัน ZSH จากภายใน bash จะโหลดขึ้นและทำงานได้ดี แต่ฉันต้องการตั้งเป็นเชลล์เริ่มต้น
124 command-line  bash  zsh 

4
เป็นไปได้ไหมที่จะเขียนถึง. bash_history ทันที?
ฉันมักจะเปิดจำนวนมากและจำนวนขั้ว [ตอนนี้ผมมี 7 เปิดให้บริการในพื้นที่ทำงานนี้] และฉันมักจะค้นหาhistoryด้วยgrepที่จะหาคำสั่งฉันได้เขียนเพียงเมื่อเร็ว ๆ นี้ แต่ฉันไม่ต้องการที่จะลงล่าขั้วแล้วเลื่อนขึ้น และตามล่ามันให้มากขึ้น ฯลฯ บางครั้งเทอร์มินัลของฉันก็ปิดโดยไม่มี 'ทางออก' และทุกอย่างที่ฉันเขียนหายไป ดังนั้นมีวิธีที่จะทำให้มันแต่ละขั้วเขียนถึง. bash_history ทันทีหรือไม่ หรืออย่างน้อยหนึ่งนาทีหรืออะไรอย่างนั้น
124 bash  history 

5
วิธีสร้างสคริปต์ด้วยการเติมข้อความอัตโนมัติ?
เมื่อฉันใช้โปรแกรมเช่นsvnและฉันพิมพ์ใน Gnome Terminal: svn upd และกดปุ่มTabเติมข้อความอัตโนมัติเพื่อ: svn update เป็นไปได้ไหมที่จะทำเช่นนั้นในสคริปต์ทุบตีที่กำหนดเองของฉัน

6
วิธีคัดลอกไฟล์ผ่านเทอร์มินัล
ฉันได้อ่านเกี่ยวกับการคัดลอกไฟล์ด้วยเทอร์มินัลแล้ว แต่ตัวอย่างเหล่านี้จะช่วยฉันได้มาก ดังนั้นนี่คือสิ่งที่ฉันต้องการจะทำ: ตัวอย่าง: ฉันมีไฟล์อยู่/home/levan/kdenlive untitelds.mpgและฉันต้องการคัดลอกไฟล์นี้/media/sda3/SkyDriveและไม่ต้องการลบสิ่งใด ๆ ในไดเรกทอรี SkyDrive ฉันมีไฟล์อยู่/media/sda3/SkyDrive untitelds.mpgและฉันต้องการคัดลอกไฟล์นี้/home/levan/kdenlive และไม่ต้องการลบสิ่งใด ๆ ในไดเรกทอรี kdenlive ฉันต้องการคัดลอกโฟลเดอร์จากโฮมไดเร็กตอรี่ไปยังsda3และไม่ต้องการลบสิ่งใด ๆ ในไดเรคทอรีsda3และตรงกันข้าม ฉันต้องการตัดโฟลเดอร์ / ไฟล์และคัดลอกไปที่อื่นโดยไม่ต้องลบไฟล์ในไดเรกทอรีที่ฉันตัดมัน
119 command-line  bash 

3
ฉันจะสร้างไฟล์สคริปต์สำหรับคำสั่งเทอร์มินัลได้อย่างไร
ใน Windows ฉันสามารถเขียนไฟล์ที่มีคำสั่งสำหรับ cmd (โดยปกติ.cmdหรือ.batไฟล์) เมื่อฉันคลิกไฟล์เหล่านั้นมันจะเปิดขึ้นมาcmd.exeและรันคำสั่งที่ไฟล์นั้นบรรจุ ฉันจะทำสิ่งนี้ใน Ubuntu ได้อย่างไร ฉันแน่ใจว่านี่เป็นสิ่งที่ซ้ำกัน แต่ฉันไม่พบคำตอบของฉัน มันคล้ายกับคำถามเหล่านี้ แต่พวกเขาไม่ตอบคำถาม: เก็บคำสั่งเทอร์มินัลที่ใช้บ่อยในไฟล์ CMD.exe Emulator ใน Ubuntu เพื่อเรียกใช้ไฟล์. cmd / .bat

1
อะไรคือความแตกต่างระหว่างชุดการส่งออกและ env และเมื่อใดที่ฉันควรใช้แต่ละอัน
บ่อยครั้งที่ฉันจะทุบตีสคริปต์ทุบตีและทำให้ฉันมีวิธีตั้งค่าตัวแปรสองสามอย่าง: key=value env key=value export key=value เมื่อคุณอยู่ในสคริปต์หรือคำสั่งเดียว (ตัวอย่างเช่นฉันมักจะเชื่อมโยงตัวแปรกับตัวเรียกใช้ไวน์เพื่อตั้งค่าคำนำหน้าไวน์ที่เหมาะสม) สิ่งเหล่านี้ดูเหมือนจะใช้แทนกันได้อย่างสมบูรณ์ แต่แน่นอนว่าไม่เป็นเช่นนั้น ความแตกต่างระหว่างสามวิธีนี้คืออะไรและคุณสามารถยกตัวอย่างให้ฉันเมื่อฉันต้องการใช้แต่ละวิธีเป็นพิเศษได้หรือไม่ เกี่ยวข้องอย่างแน่นอนกับ`ความแตกต่างระหว่าง` VAR = ... 'และ' การส่งออก VAR = ... 'คืออะไร? แต่ฉันต้องการที่จะรู้วิธีที่envเหมาะสมกับเรื่องนี้เช่นกันและตัวอย่างบางส่วนที่แสดงให้เห็นถึงประโยชน์ของแต่ละคนก็ดีเช่นกัน :)
112 command-line  bash 

5
'chmod u + x' กับ 'chmod + x'
ความแตกต่างระหว่างchmod u+xและเพียงchmod +xคืออะไร? ฉันได้เห็นแบบฝึกหัดมากมายที่บอกว่าใช้u+xเพื่อทำให้สคริปต์ทำงานได้ อย่างไรก็ตามการละเว้นสิ่งuนั้นดูเหมือนจะไม่มีผลใด ๆ

4
จัดการประวัติทุบตีด้วยเทอร์มินัลหลายเครื่อง
ฉันใช้ Terminator เป็นส่วนใหญ่และโดยปกติจะเปิดด้วยหน้าต่างเทอร์มินัลแบบแยก 3 ตัว ฉันใช้เทอร์มินัล Gnome ด้วยเหตุผลหลายประการ ฉันสงสัยว่าประวัติทุบตีจัดการอย่างไรในกรณีนี้เพราะบางครั้งฉันพลาดคำสั่งที่ออกมาก่อนหน้านี้เมื่อฉันเรียกใช้history ตัวอย่างเช่นพรอมต์ของฉันแสดงบรรทัดประวัติทุบตีปัจจุบัน ( \!) และถ้าฉันเปิดใช้งานเทอร์มิเนเตอร์โดยมีหน้าต่างเทอร์มินัลแยก 3 ตัวฉันจะได้รับประวัติบรรทัดเดียว (สมมุติ 100) บนเทอร์มินัลทั้งหมด ประวัติใดจะถูกบันทึกไว้? อีกทั้งการเปิดตัว Gnome Terminal หลังจากใช้งาน Terminator ฉันได้รับสาย 100 เมื่อเริ่มต้นโดยไม่คำนึงถึงคำสั่งทั้งหมดที่ออกมาก่อนหน้านี้ใน Terminator

7
ฉันจะแสดง git branch ด้วยสีใน Bash prompt ได้อย่างไร
ฉันใช้คำแนะนำนี้เพื่อแสดงชื่อสาขาใน gnome terminal (Ubuntu 15.10) เมื่อทำงานในที่เก็บ git จากข้างต้นตอนนี้ฉันมีด้านล่างในไฟล์ ~ / .bashrc ของฉัน: # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on …
109 command-line  bash  git 

4
คำสั่ง“ exec” ทำอะไร?
execฉันไม่เข้าใจคำสั่งทุบตี ฉันได้เห็นมันใช้ในสคริปต์เพื่อเปลี่ยนเส้นทางการส่งออกทั้งหมดไปยังไฟล์ (ดังที่เห็นในนี้ ) แต่ฉันไม่เข้าใจว่ามันใช้งานได้หรืออะไรโดยทั่วไป ฉันอ่าน man pages แล้ว แต่ฉันไม่เข้าใจ
108 bash 

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