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

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


2
ฉันจะกดกริ่งเสียงภายในสคริปต์ทุบตีที่ทำงานภายใต้หน้าจอ gnu ได้อย่างไร
ในหน้าต่างเทอร์มินัล konsole ด้านนอกของหน้าจอรันเชลล์ bash พร้อม TERM ที่ตั้งค่าเป็น konsole-256color หากฉันพิมพ์: echo -n $ '\ a' หรือ echo -n $ '\ eg' หรือ ./ ringbell โดยที่เนื้อหาของ. / ringbell เป็น #! / bin / ทุบตี echo -n $ '\ eg'; echo -n $ '\ a' พวกเขาทั้งหมดส่งผลให้เสียงระฆังที่กำหนดค่าจะดับลง หากฉันเข้าสู่เซสชันหน้าจอ (.screenrc ของฉันตั้งค่าคำเป็น konsole-256color) เฉพาะคำสั่งที่สองของ 3 คำสั่งข้างต้น …

6
Bash: ตรวจจับ execute กับ source ในสคริปต์หรือไม่?
ฉันมีสคริปต์ที่ทิ้งกระจุยกระจายรอบระบบแฟ้มของฉัน (ผลข้างเคียงของกระบวนการสร้าง) ที่กำหนดตัวแปรสภาพแวดล้อมทั่วโลกบางอย่าง (LD_LIBRARY_PATH, PATH, ROOTDIR และอื่น ๆ ) ที่ต้องอยู่ในเปลือกของฉันสำหรับการดำเนินการที่เหมาะสม แน่นอนนั่นหมายความว่าฉันต้องการsource script.shหรือ. script.shทำให้มันใช้งานได้และไม่ใช่./script.sh(ซึ่งจะวางไข่เชลล์ใหม่และไม่ตั้งค่าตัวแปรในเชลล์ปัจจุบันของฉัน) มีสิ่งใดบ้างที่ฉันสามารถเพิ่มลงในสคริปต์เพื่อป้องกัน (หรือเตือน) คนที่ทำงานอยู่./script.shหรือไม่
19 bash 

5
bash - ลบไดเรกทอรีทั้งหมด (และเนื้อหา) แต่ไม่ใช่ไฟล์ใน pwd
ฉันต้องการลบไดเรกทอรีทั้งหมดจาก pwd แต่ทิ้งไฟล์ไว้ใน pwd เพียงอย่างเดียว หากเนื้อหาของ pwd ของฉันคือ: mydir1 mydir2 myfile1 myfile2 ถ้าอย่างนั้นฉันก็อยากจะเหลืออยู่ myfile1 myfile2 ฉันคิดว่าฉันต้องใช้ rm -r -i ฉันถูกไหม?
19 linux  bash  mingw 

1
ยูทิลิตีบรรทัดคำสั่งเพื่อบันทึกจากไมโครโฟน
ฉันกำลังมองหายูทิลิตีบรรทัดคำสั่งที่ตรวจสอบไมโครโฟนและหากคุณเริ่มพูดให้เขียนไฟล์ ควรปรับระยะเวลาการบันทึก ทางออกคือ: sox -t alsa default recording.wav silence 1 0.1 5% 1 1.0 5%

1
พยายามอัพเกรดเวทมนตร์ทุบตีของฉัน ช่วยถอดรหัสคำสั่งนี้: bash -s เสถียร
ตกลงดังนั้นฉันทำงานผ่านการกวดวิชาที่จะได้รับการติดตั้ง rvm บน mac ของฉัน คำสั่ง bash เพื่อรับ rvm ผ่าน curl คือ curl -L https://get.rvm.io | bash -s stable ฉันเข้าใจคำสั่ง curl ของครึ่งแรกที่ตำแหน่ง rvm.io และผลลัพธ์ถูกไพพ์ไปยังคำสั่ง bash ที่ตามมา แต่ฉันไม่แน่ใจว่าคำสั่งนั้นกำลังทำอะไรอยู่ คำถามของฉัน: -s: ฉันมักจะสับสนเกี่ยวกับวิธีการอ้างถึงสิ่งเหล่านี้ สิ่งนี้เป็นประเภทใด: อาร์กิวเมนต์บรรทัดคำสั่ง? สวิตช์? อื่น ๆ อีก? -s: มันกำลังทำอะไรอยู่? ฉัน googled ประมาณครึ่งชั่วโมง แต่ไม่แน่ใจว่าจะอ้างถึงมันทำให้มันยาก เสถียร: นี่คืออะไร tl; dr: ช่วยฉันถอดรหัสคำสั่ง bash -s เสถียร …
18 bash 

1
cp เขียนทับ vs rm จากนั้น cp
เมื่อฉันพยายามที่จะเขียนทับไฟล์ไบนารีที่มีการเปิดตัวในขณะนี้cpล้มเหลวในการเขียนทับ แต่มันก็เป็นไปได้ที่จะมันแล้วrm cpตัวอย่างเช่น: user@poste:~$ cp binaryFile /tmp user@poste:~$ sudo cp /tmp/binaryFile binaryFile [sudo] password for user: cp: cannot create regular file `binaryFile`: Text file busy user@poste:~$ sudo rm binaryFile user@poste:~$ sudo cp /tmp/binaryFile binaryFile user@poste:~$ file binaryFile binaryFile : ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked …
18 linux  bash  unix 

1
การแปลงวิดีโอเป็น WebM ด้วย ffmpeg / avconv
ในขณะที่พยายามเพิ่มขนาดของโฮมวิดีโอของฉันฉันได้แปลงบางส่วนให้เป็น WebM เป็นแบบทดสอบโดยใช้ Pitivi บน Xubuntu ความแตกต่างของขนาดมีความสำคัญ ไฟล์ webm ที่ได้นั้นอยู่ที่ประมาณ 10% ของไฟล์ต้นฉบับในขณะที่คุณภาพของภาพนั้นค่อนข้างใกล้เคียงกับฉัน ฉันพยายามแปลงโดยใช้avconvดังนั้นฉันจึงสามารถสคริปต์ได้ แต่ไฟล์ที่ได้จะดูแย่มาก หลังจากดูการตั้งค่าการเรนเดอร์ใน Pitivi ฉันลองใช้พารามิเตอร์บางอย่าง: avconv -i $1 -q 5 -qmin 0 -qmax 63 ${1%.*}.webmแต่คุณภาพยังคงดูเหมือนว่าไร้สาระดังนั้นดูเหมือนว่าฉันขาดหายไป / ใช้พารามิเตอร์ที่ไม่ถูกต้อง มีใครรู้บ้างว่าเป็นพารามิเตอร์ที่ถูกต้องที่ใช้ในการแปลงภาพยนตร์ h264 เป็น webm และได้คุณภาพเช่นเดียวกับ Pitivi หรือไม่ นี่คือการตั้งค่าใน Pitivi:
18 bash  ffmpeg  webm 

9
วิธีดึงข้อมูลพา ธ สัมบูรณ์ของไฟล์ที่กำหนดเองจาก OS X
ฉันกำลังมองหาคำสั่งง่าย ๆ ที่สามารถใช้ภายใน Bash เพื่อค้นหาพา ธ สัมบูรณ์และ canonicalized ไปยังไฟล์บน OS X (คล้ายกับ `` readlink -f'` ภายใต้ Linux) ตัวอย่างเซสชั่นทุบตีต่อไปนี้อธิบายยูทิลิตี้ [ที่สมมติขึ้น] ที่เรียกว่า `` abspath '' ซึ่งแสดงพฤติกรรมที่ต้องการ: $ pwd /Users/guyfleegman $ ls -lR drwxr-xr-x 4 guyfleegman crew 136 Oct 30 02:09 foo ./foo: -rw-r--r-- 1 guyfleegman crew 0 Oct 30 02:07 bar.txt lrwxr-xr-x …

4
ฉันจะรวม stdout และ stderr สำหรับกระสุนต่างๆได้อย่างไร
ฉันรู้คำตอบสำหรับเชลล์บางตัวเช่นcmd.exeคุณสามารถ: some.exe > out.txt 2>&1 คุณจะประสบความสำเร็จเช่นเดียวกันสำหรับกระสุนอื่น ๆ ได้อย่างไร (bash, ksh, tcsh, powershell, ฯลฯ )


7
ssh config ภายใต้ cygwin
ฉันติดตั้ง Cygwin บน Windows 7 แล้วฉันได้ติดตั้งเป็นค่าเริ่มต้น ฉันต้องการใช้ไฟล์ ssh config (~ / .ssh / config) เพื่อตั้งค่าโฮสต์และตัวเลือกสำหรับการเชื่อมต่อ คำสั่ง ssh ปกติไม่สามารถค้นหาการกำหนดค่าในขณะที่ฉันพยายามเชื่อมต่อ: โฮสต์ ssh ถ้าฉันระบุไฟล์ config อย่างชัดเจนทุกอย่างก็โอเค: ssh -F ~ / .ssh / config ฉันไม่พบตัวเลือกใด ๆ ในการตั้งค่าไคลเอ็นต์ ssh สิ่งที่ต้องการ / etc / ssh บางที ssh ไม่ทราบว่าโฟลเดอร์บ้านของฉันอยู่ที่ไหน (ฉันได้ตั้งค่าตัวแปรสภาพแวดล้อม HOME เป็นโฟลเดอร์บ้านของฉัน)

3
วิธีลบไฟล์ในบรรทัดคำสั่งด้วยนิพจน์ทั่วไป
ช่วยบอกว่าฉันมี 20 ไฟล์ชื่อ FOOXX โดยที่ XX คือจำนวนไฟล์เช่น 01, 02 เป็นต้น ในตอนนี้ถ้าฉันต้องการลบไฟล์ทั้งหมดที่ต่ำกว่าหมายเลข 10 มันเป็นเรื่องง่ายและฉันก็ใช้ไวด์การ์ดเช่น rm FOO0 * อย่างไรก็ตามหากฉันต้องการลบไฟล์ในช่วงที่ระบุเช่น 13-15 นี่จะยากขึ้น rm FPP [13-15] ไม่ทำงานและถามฉันว่าฉันต้องการลบไฟล์ทั้งหมดหรือไม่ Likewse rm FOO1 [3-5] ต้องการลบไฟล์ทั้งหมดที่ขึ้นต้นด้วย FOO1 ดังนั้นวิธีที่ดีที่สุดในการลบช่วงของไฟล์เช่นนี้คืออะไร? ฉันได้ลองทั้ง bash และ zsh แล้วและฉันไม่คิดว่าพวกเขาจะแตกต่างกันมากนักสำหรับงานพื้นฐานเช่นนี้?
18 linux  bash  shell  regex  zsh 

5
วิธีดำเนินการคำสั่งหลังจากคำสั่งปัจจุบันทำงานในทุบตี?
ฉันกำลังดาวน์โหลดไฟล์ด้วย wget และฉันต้องการปิดคอมพิวเตอร์หลังจากการดาวน์โหลดจะเสร็จสิ้น แต่ฉันต้องไปที่อื่นตอนนี้ :) เป็นไปได้ไหมที่จะใช้คำสั่งใน bash exacly เมื่อกระบวนการเสร็จสิ้นหรือไม่ ฉันรู้ว่ามันใช้งานได้: wget http://example.com/file.rar; ปิดตอนนี้ แต่ถ้าฉันพิมพ์เท่านั้น: wget http://example.com/file.rar
18 linux  bash 

4
เป็นไปได้ไหมที่จะพิมพ์ส่วนขยายของเชลล์?
ฉันรู้ว่ามีกฎเฉพาะชุดที่เชลล์ขยายคำสั่งที่ผู้ใช้พิมพ์ (เรามาพูดถึง bash shell กันเถอะ) เป็นไปได้ไหมที่จะพิมพ์คำสั่งในรูปแบบหลังจากการขยายเชลล์? ดูเหมือนว่าจะเป็นยูทิลิตี้ที่ดีในการเรียนรู้และตรวจสอบให้แน่ใจว่าเชลล์ขยายอักขระพิเศษอย่างไร เช่น $ echo * {all the filenames in current dir} ฉันต้องการพิมพ์คำสั่งที่ขยายออกซึ่งเป็นบรรทัดต่อไปนี้: echo {all the filenames in .}

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