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

สำหรับคำถามเกี่ยวกับสคริปต์ที่เขียนขึ้นสำหรับเชลล์คำสั่ง Bash สำหรับเชลล์สคริปต์ที่มีข้อผิดพลาด / ข้อผิดพลาดทางไวยากรณ์โปรดตรวจสอบด้วยโปรแกรม shellcheck (หรือในเซิร์ฟเวอร์ shellcheck เว็บที่ https://shellcheck.net) ก่อนโพสต์ที่นี่ คำถามเกี่ยวกับการใช้งานอินเทอร์แอคทีฟของ Bash นั้นมีแนวโน้มที่จะอยู่ในหัวข้อของผู้ใช้ขั้นสูงมากกว่าในสแต็คโอเวอร์โฟลว์

6
rsync คัดลอกเฉพาะไฟล์บางประเภทโดยใช้ตัวเลือก include
ฉันใช้สคริปต์ทุบตีต่อไปนี้เพื่อคัดลอกเฉพาะไฟล์ที่มีนามสกุลบางไฟล์ (ในกรณีนี้คือ * .sh) แต่มันก็ยังคงคัดลอกไฟล์ทั้งหมด เป็นอะไรไป? จาก = $ 1 ถึง = $ 2 rsync -zarv --include = "*. sh" $ จาก $ ถึง
114 linux  bash  shell  rsync 

3
การอ่านผลลัพธ์ของคำสั่งในอาร์เรย์ใน Bash
ฉันต้องการอ่านผลลัพธ์ของคำสั่งในสคริปต์ของฉันลงในอาร์เรย์ คำสั่งคือตัวอย่าง: ps aux | grep | grep | x และให้เอาต์พุตทีละบรรทัดดังนี้: 10 20 30 ฉันต้องการอ่านค่าจากเอาต์พุตคำสั่งลงในอาร์เรย์จากนั้นฉันจะทำงานบางอย่างหากขนาดของอาร์เรย์น้อยกว่าสาม
114 arrays  bash 

8
การส่งผ่านตัวแปร bash ไปยัง jq
ฉันได้เขียนสคริปต์เพื่อดึงค่าบางอย่างจากfile.jsonไฟล์. ใช้งานได้ถ้าฉันให้ค่ากับ jq selectแต่ตัวแปรดูเหมือนจะไม่ทำงาน (หรือฉันไม่รู้วิธีใช้) #!/bin/sh #this works *** projectID=$(cat file.json | jq -r '.resource[] | select(.username=="myemail@hotmail.com") | .id') echo "$projectID" EMAILID=myemail@hotmail.com #this does not work *** no value is printed projectID=$(cat file.json | jq -r '.resource[] | select(.username=="$EMAILID") | .id') echo "$projectID"

7
เรียกใช้ bash script จากภายใน python
ฉันมีปัญหากับรหัสต่อไปนี้: callBash.py: import subprocess print "start" subprocess.call("sleep.sh") print "end" sleep.sh: sleep 10 ฉันต้องการให้พิมพ์ "สิ้นสุด" หลังจาก 10 วินาที (ฉันรู้ว่านี่เป็นตัวอย่างที่โง่ฉันสามารถนอนใน python ได้ แต่ไฟล์ sleep.sh ธรรมดานี้เป็นเพียงการทดสอบ)
114 python  bash  call 

17
รายการกระบวนการ Java
ฉันจะแสดงรายการกระบวนการ Java ทั้งหมดใน bash ได้อย่างไร ฉันต้องการบรรทัดคำสั่ง ฉันรู้ว่ามีคำสั่งpsแต่ฉันไม่รู้ว่าต้องใช้พารามิเตอร์อะไร
113 linux  bash  unix  command-line 

8
bash prompt ที่แตกต่างกันสำหรับโหมดแก้ไข vi ที่แตกต่างกัน?
เมื่อใช้โหมด vi (set -o vi) กับ Bash จะเป็นการดีที่จะมีพรอมต์ที่ขึ้นอยู่กับโหมดที่คุณกำลังใช้งานอยู่ (แทรกหรือคำสั่ง) เราจะค้นพบโหมดการแก้ไขนี้ได้อย่างไร? Btw สิ่งนี้ดูเหมือนจะเป็นไปได้ในZSH :
113 bash  prompt 

2
bash tab complete ทำงานอย่างไร?
ช่วงนี้ฉันใช้เวลาส่วนใหญ่ในเชลล์และฉันสงสัยว่าการเติมข้อความอัตโนมัติของแท็บทำงานอย่างไร กลไกเบื้องหลังคืออะไร? bash รู้เนื้อหาของทุกไดเร็กทอรีได้อย่างไร?
113 bash  shell  autocomplete 

5
Grepping ไฟล์ขนาดใหญ่ (80GB) ด้วยวิธีใดเพื่อเพิ่มความเร็ว?
grep -i -A 5 -B 5 'db_pd.Clients' eightygigsfile.sql สิ่งนี้ทำงานเป็นเวลาหนึ่งชั่วโมงบนเซิร์ฟเวอร์ลินุกซ์ที่มีประสิทธิภาพพอสมควรซึ่งไม่ได้โหลดมากเกินไป ทางเลือกอื่นสำหรับ grep หรือไม่? อะไรเกี่ยวกับไวยากรณ์ของฉันที่สามารถปรับปรุงได้ (เช่น egrep, fgrep ดีกว่าไหม) ไฟล์ดังกล่าวอยู่ในไดเร็กทอรีที่แชร์กับการเมานต์ไปยังเซิร์ฟเวอร์อื่น แต่ดิสก์สเปซจริงเป็นแบบโลคัลจึงไม่ควรสร้างความแตกต่าง? grep จับ CPU ได้มากถึง 93%
113 bash  grep 

20
จะทดสอบการเชื่อมต่ออินเทอร์เน็ตด้วย bash ได้อย่างไร?
จะทดสอบการเชื่อมต่ออินเทอร์เน็ตโดยไม่กระตุกเว็บไซต์ได้อย่างไร? ฉันหมายความว่าจะเกิดอะไรขึ้นหากมีการเชื่อมต่อ แต่ไซต์ไม่ทำงาน มีการตรวจสอบการเชื่อมต่อกับโลกหรือไม่?
113 bash  connection  ping 

6
วิธีแสดงและอัปเดตเสียงสะท้อนในบรรทัดเดียวกัน
ฉันมีสิ่งต่อไปนี้ใน Bash (ใน Linux) for dir in Movies/* do (cd "$dir" && pwd|cut -d \/ -f5|tr -s '\n' ', ' >> ../../movielist && exiftool * -t -s3 -ImageSize -FileType|tr -s '\t' ',' >> ../../movielist ) echo "Movie $movies - $dir ADDED!" let movies=movies+1 done แต่ฉันต้องการทำให้เป็นเช่นนั้น "เสียงสะท้อน" จะแสดงเสียงสะท้อนต่อไปนี้ในบรรทัดถัดไป (ไม่เชื่อมต่อกับเอาต์พุตเสียงสะท้อนสุดท้าย แต่แทนที่) เพื่อให้ดูเหมือนว่ากำลังอัปเดต …
113 bash 

7
วิธีย้ายไฟล์ทั้งหมดรวมถึงไฟล์ที่ซ่อนอยู่ไปยังไดเร็กทอรีหลักผ่าน *
คำถามนี้ต้องเป็นคำถามยอดนิยม แต่หาคำตอบไม่ได้ วิธีย้ายไฟล์ทั้งหมดผ่าน * รวมถึงไฟล์ที่ซ่อนอยู่และไปยังไดเร็กทอรีหลักเช่นนี้: mv /path/subfolder/* /path/ การดำเนินการนี้จะย้ายไฟล์ทั้งหมดไปยังไดเร็กทอรีหลักอย่างที่คาดไว้ แต่จะไม่ย้ายไฟล์ที่ซ่อนอยู่ ต้องทำอย่างไร?
113 linux  bash  shell  command 

7
บันทึกไดเรกทอรีปัจจุบันในตัวแปรโดยใช้ Bash?
export PATH=$PATH:currentdir+somethingelseสิ่งที่ฉันพยายามทำคือการหาไดเรกทอรีการทำงานปัจจุบันและบันทึกลงในตัวแปรเพื่อที่ฉันสามารถเรียกใช้ ฉันไม่แน่ใจว่าพวกเขามีตัวแปรที่มี cwd เป็นค่าเริ่มต้นหรือไม่ ฉันจะบันทึกไดเร็กทอรีปัจจุบันในตัวแปรโดยใช้ Bash ได้อย่างไร

9
ฉันจะให้ทั้ง STDOUT และ STDERR ไปที่เทอร์มินัลและล็อกไฟล์ได้อย่างไร
ฉันมีสคริปต์ที่จะเรียกใช้แบบโต้ตอบโดยผู้ใช้ที่ไม่ใช่ด้านเทคนิค สคริปต์เขียนอัพเดตสถานะเป็น STDOUT เพื่อให้ผู้ใช้มั่นใจได้ว่าสคริปต์กำลังทำงานตกลง ฉันต้องการให้ทั้ง STDOUT และ STDERR เปลี่ยนเส้นทางไปยังเทอร์มินัล (เพื่อให้ผู้ใช้เห็นว่าสคริปต์ทำงานและดูว่ามีปัญหาหรือไม่) ฉันยังต้องการให้สตรีมทั้งสองเปลี่ยนเส้นทางไปยังไฟล์บันทึก ฉันเคยเห็นวิธีแก้ปัญหามากมายบนเน็ต บางอย่างไม่ได้ผลและบางอย่างก็ซับซ้อนอย่างน่ากลัว ฉันได้พัฒนาโซลูชันที่ใช้งานได้แล้ว (ซึ่งฉันจะป้อนเป็นคำตอบ) แต่มันเป็นสิ่งที่น่ารังเกียจ โซลูชันที่สมบูรณ์แบบคือโค้ดบรรทัดเดียวที่สามารถรวมไว้ในส่วนเริ่มต้นของสคริปต์ใด ๆ ที่ส่งสตรีมทั้งสองไปยังเทอร์มินัลและล็อกไฟล์ แก้ไข:เปลี่ยนเส้นทาง STDERR เป็น STDOUT และส่งผลลัพธ์ไปยังงานที แต่ขึ้นอยู่กับผู้ใช้ที่จำเปลี่ยนเส้นทางและไปป์เอาต์พุต ฉันต้องการให้การบันทึกเป็นแบบอัตโนมัติ (ซึ่งเป็นเหตุผลว่าทำไมฉันจึงต้องการที่จะสามารถฝังโซลูชันลงในสคริปต์ได้)
113 bash  logging  shell 


1
ฉันจะวางกระบวนการ linux ที่กำลังทำงานอยู่ในพื้นหลังได้อย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันมีคำสั่งที่อัปโหลดไฟล์โดยใช้ git ไปยังเซิร์ฟเวอร์ระยะไกลจาก Linux shell และจะใช้เวลาหลายชั่วโมงจึงจะเสร็จสิ้น ฉันจะวางโปรแกรมที่กำลังทำงานอยู่ในพื้นหลังได้อย่างไร? เพื่อให้ฉันยังสามารถทำงานกับเชลล์ได้และกระบวนการนั้นก็เสร็จสมบูรณ์เช่นกัน?
112 linux  bash  shell  background 

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