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

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

5
สร้างทุบตีท่อเพื่อเติมอะไรบางอย่างเพื่อ stdoutput ของคำสั่งก่อนหน้า
ฉันต้องการใช้ sendmail เพื่อส่งสิ่งต่าง ๆ และต้องการที่จะทำใน oneliner echo "mail content" | sendmail emailataddres.com ส่งได้โดยไม่มีหัวเรื่อง หัวเรื่องต้องมาก่อนเนื้อหาเมลดังนั้นฉันกำลังมองหาบางอย่างตามบรรทัดของ: echo "mail content" | prepend "Subject: All that matters" | sendmail emailataddres.com sed และ awk มีแนวโน้มที่จะใช้และจำได้ยาก แก้ไข : เพียงเพื่อชี้แจง: echo "เนื้อหาจดหมาย" เป็นเพียงตัวอย่างที่แสดงให้เห็น ฉันต้องสามารถเพิ่มเนื้อหาลงในสตรีม stdout จากแหล่งใดก็ได้ เช่น: ifconfig, zcat เป็นต้น

3
บรรทัดคำสั่ง: แยกสตริงย่อยออกจากเอาต์พุต
สมมติว่าฉันรันคำสั่ง SayStuff $ SayStuff และผลลัพธ์คือ Watermelons and cucumbers ตอนนี้ สมมติว่าฉันต้องการแยกสตริงย่อยcucumbersจากเอาต์พุตและไพพ์ลงในบางสิ่ง วิธีที่ฉันจะไปเกี่ยวกับเรื่องนี้ทางโปรแกรมจะแบ่งการส่งออกเป็นอาร์เรย์โดยคั่นอวกาศArrayName[2]และการอ้างอิงได้โดย ฉันค่อนข้างใหม่กับเชลล์สคริปท์และประสบความสำเร็จในการขุดcutตัวอย่างแบบกึ่งความลับเท่านั้นซึ่งไม่มีเหตุผล ความคิดใด ๆ

5
Linux Shell: คัดลอกเอาต์พุตไปยังคลิปบอร์ดโดยไม่ใช้ Mouse?
เป็นไปได้หรือไม่ที่จะคัดลอกเอาต์พุตไปยังคลิปบอร์ดโดยไม่ต้องใช้เมาส์? ตัวอย่างเช่นฉันต้องการทำสิ่งนี้: $ pwd & gt; & gt; คลิปบอร์ด
24 linux  bash  shell 

6
ฉันจะรีเฟรชไดเรกทอรีใน BASH ได้อย่างไร
ฉันมีไดเรกทอรีที่มีไฟล์ที่สร้างขึ้นโดยคอมไพเลอร์ ในระหว่างการสร้างแต่ละไดเรกทอรีนี้ได้รับการทำความสะอาดและหลังจากกระบวนการสร้างlsให้ฉันว่างเปล่า หลังจากฉันcdออกจากไดเรกทอรีแล้วกลับมามันทำงานได้ถูกต้อง คำถามคือ: มีวิธีอื่นที่หรูหรากว่าในการรีเฟรชไดเรกทอรีหรือไม่ จะเกิดอะไรขึ้นเมื่อไฟล์ถูกลบและสร้างใหม่ ทำไมฉันต้องcdเห็นเนื้อหาไดเรกทอรีจริง?

2
มีคำสั่งหนึ่งบรรทัดเพื่อให้ chmod แบบโต้ตอบ?
ฉันกำลังมองหาบางสิ่งที่ชอบ: ls | ask_yes_no_for_each_file | chmod +x the_files_approved หรือไวยากรณ์ที่คล้ายกัน ยังสามารถทำงานกับคำสั่งอื่น ๆ ที่คุณต้องการการยืนยันเป็นรายบุคคลสำหรับ

3
วิธีเพิ่มวันในทุบตี?
ตัวอย่างเช่นฉันมีวันที่: 4 สิงหาคม 1993 และฉันต้องการเพิ่ม 348 วันในนั้นฉันจะทำอย่างไรในการทุบตี?
24 bash  date 

2
วิธีทำให้ล้อเมาส์เลื่อนเพจเจอร์ที่น้อยลงโดยใช้ bash และ gnome-terminal
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Super User อพยพ 7 ปีที่ผ่านมา ฉันมีคอมพิวเตอร์สองเครื่องที่มี Fedora ล่าสุด ในครั้งแรกฉันใช้ zsh และวงล้อเมาส์สามารถใช้กับเพจเจอร์ที่น้อยกว่าภายใน gnome-terminal เพื่อเลื่อนเพจเจอร์ ในครั้งที่สองฉันใช้ bash และเม้าส์ที่เลื่อนดูประวัติเทอร์มินัลไม่ใช่เพจเจอร์ เปลือกไม่ควรสร้างความแตกต่างทำไมฉันไม่สามารถใช้ล้อเมาส์เพื่อเลื่อนในกรณีที่สอง? เพื่อแสดงให้เห็นว่ามันทำอะไรลองนึกภาพฉันมีเอกสารแบบนี้: AAAA BBBB CCCC DDDD EEEE และฉันมีเทอร์มินัลสองเส้น ถ้าฉันใช้น้อยลงฉันจะขึ้นไปที่หน้าจอ AAAA BBBB wheeel ของเมาส์ไม่สามารถเลื่อนลงไปอีก หากฉันเลื่อนขึ้นไปฉันจะได้รับประวัติพร้อมต์ bash ตอนนี้ฉันใช้ปุ่มลงหน้าเพื่อไปที่ด้านล่างของเอกสารฉันไปที่หน้าจอ: DDDD EEEE การเลื่อนขึ้นไปทำให้ฉันเข้าใจ BBBB DDDD ->

8
กำลังโหลด aliases เชลล์โลคัลไปยังเซสชัน ssh dynamicaly
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Super User อพยพ 7 ปีที่ผ่านมา เมื่อฉันเข้าสู่เครื่องโดยใช้sshฉันต้องการให้นามแฝงและฟังก์ชั่นของฉันอยู่ที่นั่น พูดอีกอย่างคือเข้าสู่เครื่องบางอย่างที่ฉันต้องการฉันสามารถใช้ทางลัดคำสั่งของฉัน ฉันต้องการมันเป็นแบบไดนามิกทุกครั้งที่ฉันเข้าสู่ระบบฉันหวังว่าฉันจะได้รับการปรับปรุงนามแฝง หมายเหตุ: บ่อยครั้งที่มันเป็นครั้งแรกที่เข้าสู่ระบบโดยไม่ทราบว่าเครื่องและไฟล์ที่นั่น บางครั้งมันเป็นการเข้าสู่ระบบเดียวเพียงครั้งเดียวสำหรับเครื่องนั้น จะต้องมีการทำความสะอาดหลังจากนั้นการกำหนดค่าก่อนหน้านี้จะต้องถูกเรียกคืนด้วย
24 linux  bash  shell  login  ssh 

2
Linux: พร้อมต์การทุบตีการระบายสีจะทำให้แคร่คืนสินค้า
เมื่อฉันลอง colorize bashprompt เช่นนี้: export PS1="\e[0;31m[\u@\h \W]\$ \e[m " มันจะคืนค่าขนส่งกลับ (แทนที่จะไปที่บรรทัดใหม่เมื่อบรรทัดเต็มบรรทัดจะเริ่มในบรรทัดเดียวกันและลบข้อความอินพุต) ถ้าฉันลบลำดับสีมันใช้งานได้ดี ฉันใช้ Ubuntu 11.10 และเทอร์มินัล (guake มีจุดบกพร่องเดียวกันด้วย)

4
รหัสผ่านเริ่มต้นของหน้าจอคืออะไร?
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Super User อพยพ 8 ปีที่ผ่านมา เมื่อฉันพิมพ์Ctrl-X X (sic) ในหน้าจอเซสชันจะถูกล็อค รหัสผ่านเริ่มต้นคืออะไร เป็นรหัสผ่านเดียวกับที่ฉันใช้ในการเข้าสู่ระบบ linux ฉันถามเพราะ: ฉันเชื่อมต่อกับเซิร์ฟเวอร์ linux ระยะไกลที่แตกต่างกันผ่านทาง ssh ภายใต้รสชาติที่หลากหลายของ linux / unix และมีเซสชันที่ทำงานบนหน้าจอทั้งหมด เมื่อฉันล็อคเซสชันของหน้าจอและพิมพ์รหัสผ่านของฉันบางครั้งก็ใช้งานได้และในการติดตั้งอื่น ๆ มันไม่ทำงานดังนั้นฉันจึงไม่รู้ว่ารหัสผ่านคืออะไร (ดังนั้นฉันต้อง "ออก" เซสชันของหน้าจอนั้นจากภายนอก) ดังนั้นรหัสผ่านเริ่มต้นของหน้าจอคืออะไร? PS: ฉันไม่เคยรูต เวอร์ชั่นของหน้าจอที่ใช้: Screen version 4.00.03 (FAU) 23-Oct-06
24 linux  bash  display 

2
สร้างฐานข้อมูล MySQL ด้วยหนึ่งบรรทัดในทุบตี
เป็นไปได้หรือไม่ที่จะสร้างฐานข้อมูลเปล่าด้วยหนึ่งบรรทัดคำสั่งใน bash? ความพยายามในมือใหม่ของฉันล้มเหลว: mysql -uroot $(create database mydatabase;) ท้ายที่สุดฉันต้อง mysql -uroot create database mydatabase; exit;

4
ฉันจะแก้ไขบรรทัดก่อนหน้าในคำสั่งหลายบรรทัดใน Bash ได้อย่างไร
เมื่อป้อนคำสั่งที่ครอบคลุมหลายบรรทัดใน Bash ฉันจะแก้ไขบรรทัดก่อนหน้าได้อย่างไร ฉันเป็นผู้ใช้ Linux Mint (Lisa) โดยใช้เทอร์มินัล GNOME ตัวอย่างเช่นฉันพิมพ์: $ echo "foo bar > baz > และเมื่อฉันกำลังจะพิมพ์บรรทัดที่สามของคำสั่งทันใดนั้นฉันก็รู้ว่าฉันต้องการ "foo" และ "bar" เพื่อแยกบรรทัด ฉันจะเปลี่ยนตำแหน่งเคอร์เซอร์ของฉันระหว่าง "foo" และ "bar" อย่างที่ฉันสามารถกด enter และวางไว้ในบรรทัดแยกกันได้อย่างไร (มันไม่ง่ายอย่างที่คุณคิดว่าลูกศรขึ้นใช้งานไม่ได้และ Ctrl-P ไม่ได้โปรดลองก่อนโพสต์ขอบคุณ!)

5
ทำไมลิงค์สัญลักษณ์ของฉันไม่ทำงาน
ฉันกำลังพยายามที่จะเข้าใจลิงก์สัญลักษณ์มากขึ้น ... และไม่มีโชคมาก นี่คือเอาต์พุตเชลล์จริงของฉันที่มีชื่อผู้ใช้ / โฮสต์เปลี่ยนแปลง: username@host:~$ mkdir actual username@host:~$ mkdir proper username@host:~$ touch actual/file-1.txt username@host:~$ echo "file 1" > actual/file-1.txt username@host:~$ touch actual/file-2.txt username@host:~$ echo "file 2" > actual/file-2.txt username@host:~$ ln -s actual/file-1.txt actual/file-2.txt proper username@host:~$ # Now, try to use the files through their links username@host:~$ cat proper/file-1.txt …

2
คำสั่ง cmd เทียบเท่ากับ Bash's & (เครื่องหมายแอมเปอร์แซนด์) สำหรับการเรียกใช้คำสั่งโดยไม่รอให้คำสั่งยกเลิก
ในทุบตี: java -jar jarfile1.jar & java -jar jarfile2.jar & เครื่องหมายและตัวช่วยให้คุณสามารถเปิดโปรแกรมแรกจากนั้นทำอีกอันหนึ่งในขณะที่โปรแกรมแรกยังทำงานอยู่ ฉันจะทำสิ่งนี้เป็นคำสั่งได้อย่างไร (XP ถ้าเกี่ยวข้อง)

2
ZSH เทียบเท่ากับ $ PROMPT_COMMAND ของ BASH คืออะไร
BASH สนับสนุน$PROMPT_COMMANDตัวแปรสภาพแวดล้อมที่กำหนดคำสั่งที่จะดำเนินการก่อนที่จะมีการโต้ตอบระดับแรก ฉันกำลังมองหา ZSH ที่เท่ากัน เอกสารบอกว่ามีฟังก์ชั่นที่precmdฉันสามารถนิยามได้ว่า; อย่างไรก็ตามฉันไม่ทราบวิธีการกำหนดจากตัวแปรสภาพแวดล้อม ฉันได้พิจารณาผ่านตัวแปรสภาพแวดล้อมที่จะทำให้ ZSH อ่านไฟล์ที่มีคำจำกัดความของฟังก์ชั่นนั้น แต่ ZSH ดูเหมือนจะไม่สนับสนุนสิ่งต่าง ๆ : มันอ่านเฉพาะไฟล์ทั่วโลกแล้วต่อไฟล์ผู้ใช้ ฉันสามารถแทนที่พวกเขา แต่ฉันไม่สามารถเพิ่มพวกเขาโดยไม่ต้องแก้ไขไฟล์ซึ่งฉันไม่สามารถทำได้ ดังนั้นฉันจะกำหนด hook pre-prompt ใน ZSH ผ่านตัวแปรสภาพแวดล้อมเช่นเดียวกับที่ฉันใช้$PROMPT_COMMANDใน BASH ได้อย่างไร

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