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

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

1
SSH bash - ฉันกำลังเรียกใช้สคริปต์หรือไม่
ฉันดึงผมออกมาที่นี่ แต่ฉันมองไปรอบ ๆ เพื่อพยายามหาคำตอบว่าทำไมการเชื่อมต่อ ssh ของฉันกับ vps ของฉันจึงมี "[ระยะไกล] 0: ทุบตี" ในสีเขียวที่แสดงอยู่ในช่องด้านล่างของฉัน บรรทัด ssh ปกติอยู่ที่ไหน ... "user @ ip #?" ... ตอนนี้มันแสดงเฉพาะชื่อโฮสต์ "@hostname ~ #" เมื่อคืนที่ผ่านมาฉันรันสคริปต์ทุบตีติดตั้ง WordPress และฉันคิดว่ามีส่วนเกี่ยวข้องกับสิ่งนี้หรือไม่ ฉันใหม่ทั้งหมดนี้ แต่หวังว่าใครบางคนสามารถให้ฉันคิดสิ่งที่ฉันได้เข้า :)
1 linux  bash  ssh  remote  vps 

2
เหตุใดจึงไม่ xargs ในการค้นหาทำงานกับชุดคำสั่งที่ใช้ pushd และ popd เพื่อเดินทรีย่อยไดเรกทอรี
บนเครื่อง Linux Centos 4 ฉันพยายามสร้างบรรทัดคำสั่ง bash แบบง่าย ๆ เพื่อเดินโครงสร้างไดเรกทอรีด้านล่างไดเรกทอรีปัจจุบันที่กำหนดเองและในแต่ละไดเรกทอรีย่อยให้แตะที่ไฟล์รายการเนื้อหาของไดเรกทอรี แต่ไปป์/dev/nullและลบไฟล์ที่ถูกสัมผัส จุดที่ไม่ชัดเจนของสคริปต์นี้คือการทำให้ระบบไคลเอ็นต์ / เซิร์ฟเวอร์ NFS ต้นแบบเพื่อให้แน่ใจว่าเนื้อหาของแต่ละไดเรกทอรีสะท้อนการเปลี่ยนแปลงที่เกิดขึ้นกับเครื่องอื่นซึ่งอาจใช้เวลาในการเผยแพร่ ฉันพบวิธีแก้ปัญหานี้เพื่อหลีกเลี่ยงความล่าช้า ละเว้นข้อดีของเหตุผลในการทำเช่นนี้เพราะเหตุใดฉันจึงไม่เสนอสคริปต์ทุบตี [CentosMachine] find . -type d -print0 | xargs -0 -I {} pushd {}; touch xYzZy.fixZ; ls &> /dev/null; rm -f xYzZy.fixZ; popd xargs: pushd: No such file or directory bash: popd: directory stack …

4
ค้นหาไฟล์ทั้งหมดที่มีไฟล์อื่นที่ไม่มีนามสกุลต่างกันอยู่แล้ว
ฉันต้องการใช้คำสั่ง find เพื่อค้นหาไฟล์ทั้งหมดที่มีนามสกุล (avi) ที่ซึ่งชื่อไฟล์เดียวกันกับนามสกุลอื่น (mp4) ไม่มีอยู่จริง ดังนั้นเมื่อพิจารณาไฟล์เหล่านี้: a.avi a.mp4 c.avi มันควรจะส่งผลให้พบไฟล์ c.avi เท่านั้น
1 ubuntu  bash  find 

3
ทีละบรรทัดไม่ทำงาน
ต้นฉบับ FILE="/u0146121/bin/list.txt" while read line; do echo $line done < $FILE ฉันยังใหม่กับการทุบตีสคริปต์และพยายามคิดสิ่งนี้ในขณะที่วนรอบ ฉันต้องการอ่านทีละบรรทัดจากไฟล์ข้อความแล้วทำคำสั่ง ฉันได้รับข้อผิดพลาด: No such file or directory121/bin/list.txt ใครบ้างรู้วิธีแก้ไขปัญหานี้หรือไม่
1 bash 

1
Alias ​​หยุดทำงานหลังจาก SSHing ในเครื่อง Ubuntu
ฉันกำลังประสบปัญหากับ Ubuntu ชื่อแทนทุบตีเช่นllไม่ทำงานถ้าฉันเข้าสู่ระบบของฉันจาก SSH มันทำงานได้ดีหลังจากเขียนbashเป็นคำสั่งในเชลล์ มันเคยทำงาน มีปัญหาอะไร echo $SHELL /bin/bash

2
Bash: ตรวจสอบว่ากระบวนการหยุดทำงาน
ฉันกำลังทำงานกับสคริปต์เพื่อเริ่ม / หยุดชุดบริการ สำหรับการหยุดมันจะต้องยุติกระบวนการต่าง ๆ ที่ใช้เวลาสักครู่และอาจหยุด สคริปต์ต้องตรวจสอบว่ากระบวนการนั้นสิ้นสุดลงอย่างแน่นอนและส่งอีเมลหากไม่เกิดขึ้นหลังจากช่วงเวลาที่กำหนด นี่คือสิ่งที่ฉันมี: pkill -f "stuff" for i in {1..30}; do VERIFICATIONS=$i if verification_command then echo "It's gone" break fi sleep 2 done if [ $VERIFICATIONS -ge 30 ]; then echo "failed to terminate" # send mail fi มีวิธีที่ดีกว่าในการทำเช่นนี้?
1 bash  unix 

1
วิธีใช้“ rm -rf --no-keep-root” ใน bash บน Windows
หลังจากเปิดโหมดนักพัฒนาซอฟต์แวร์และติดตั้งWindows Subsystem for Linuxฉันจะใช้rmคำสั่งใน bash shell ที่ทำงานในโหมดผู้ดูแลระบบได้อย่างไร ตัวอย่าง: rm -rf --no-preserve-root C:/Windows/System32

1
ติดตั้ง Fedora ISO DVD แล้วคัดลอกโครงสร้างดีวีดีแบบเต็มในเครื่อง
ฉันต้องสร้างใหม่ในโฟลเดอร์ในเครื่องที่เรียกว่า/distro/fedora/แผนผังไดเรกทอรีแบบเต็ม (รวมถึงไฟล์ที่ซ่อนในที่สุด symlink ฯลฯ ) ที่มีอยู่ใน.isoไฟล์ที่เพิ่งดาวน์โหลด ( Fedora-15-i686-Live-Desktop.iso) ฉันเข้าใจว่าฉันสามารถเมานต์ภาพ ISO ได้โดยใช้บางสิ่งเช่นนี้ mount -ro loop /path/to/image.iso /mnt แต่แล้วซึ่งจะเป็นวิธีที่ดีที่สุดที่จะได้รับสำเนาถูกต้องของสิ่งที่ฉันเห็นใต้/mntเพื่อ/distro/fedora? cp, tar, clobber?
1 linux  bash  tar  fedora  mount 

2
สร้างวิดีโออัตโนมัติโดยเพิ่มอินโทรและวิดีโอต่อท้ายไปยังวิดีโอหลัก
ฉันมีโครงการวิดีโอที่ฉันพยายามรวบรวม นี่คือภาพรวม: ฉันมีวิดีโอมากมายซึ่งเป็น 5 นาทีการฝึกซ้อม - วิดีโอหลัก วิดีโอแนะนำจะเป็นวิดีโอมาตรฐาน 5 วินาทีที่จะมีชื่อวิดีโอและผู้แต่ง สิ่งนี้จะถูกต่อเข้ากับวิดีโอหลัก วิดีโอต่อท้ายจะสวยมากเป็นวิดีโอสต็อกที่จะต่อกับวิดีโอหลักและมี legaleze ทั้งหมดเป็นต้น Intro Vid จะจางหายไปในวิดีโอหลักอย่างราบรื่นเช่นเดียวกับเมื่อคุณจบวิดีโอหลักมันจะจางหายไปในวิดีโอต่อท้ายอย่างสวยงาม ผลิตภัณฑ์นี้เป็นวิดีโอใหม่พร้อมวิดีโอแนะนำ, วิดีโอหลัก & ตัวอย่างทั้งหมดในที่เดียว! แนวคิดนั้นง่ายมาก ในความเป็นจริงผมพบว่าตัวอย่างของคนที่มีการแก้ไขนี้และจะทำสิ่งที่ฉันต้องการ วิธีการแก้ปัญหานี้เป็นสคริปต์ Bash ที่ใช้ไฟล์กำหนดค่าที่มีชื่อผู้แต่ง ฯลฯ และสร้าง Intro, Ending และสร้างวิดีโอผลลัพธ์พร้อมกัน ฉันใช้เซิร์ฟเวอร์ Ubuntu 12.04 ฉันได้ลองใช้สิ่งนี้เป็นตัวอย่างและเพิ่งรันโดยไม่มีโชคเนื่องจากข้อผิดพลาดที่ไม่เข้ากัน ฉันพยายามแปลงมันด้วย.MP4ตู้คอนเทนเนอร์หรือ.MKV. ฉันพบข้อผิดพลาดหลังจากข้อผิดพลาดหรือปัญหาความไม่ลงรอยกัน ฉันเปลี่ยนไปffmpegใช้ไบนารีโดยใช้รุ่น 25 ต.ค. 2556 จากhttp://ffmpeg.gusari.org/static/64bit/ซึ่งฉันชอบเพราะฉันไม่ต้องกังวลกับการสร้างไบนารีขึ้นมาใหม่ เกือบจะประสบความสำเร็จ แต่อีกครั้งฉันมีข้อผิดพลาดซึ่งฉันไม่สามารถแก้ไขได้ ฉันรู้ว่าส่วนหนึ่งของปัญหาคือความจริงที่ว่าการผลิตวิดีโอตัวแปลงสัญญาณรูปแบบเป็นฟิลด์ใหม่ที่สมบูรณ์แบบสำหรับฉันดังนั้นฉันจึงพยายามทำงานผ่านอาณาเขตใหม่นี้ บางทีผู้เชี่ยวชาญที่นี่อาจมีบางอย่างที่คล้ายกันซึ่งฉันสามารถใช้เป็นแนวทางที่ใช้รูปแบบ MP4 หรือ h.264 หรือใช้วิธีแก้ไขปัญหาข้างต้นจาก …

3
วิธีเขียนสคริปต์เพื่อยอมรับอาร์กิวเมนต์บรรทัดคำสั่งจำนวนเท่าใด? (UNIX, BASH)
ฉันมีสคริปต์ที่ฉันต้องการยอมรับอาร์กิวเมนต์บรรทัดคำสั่งจำนวนเท่าใดก็ได้ จนถึงตอนนี้ฉันมี ถ้า [-O $ 1]; แล้วก็ echo "คุณเป็นเจ้าของ $ 1" อื่น echo "คุณไม่ใช่เจ้าของ $ 1" Fi เห็นได้ชัดว่าถ้าฉันต้องการให้สคริปต์ยอมรับข้อโต้แย้งเดียวสิ่งนี้จะได้ผล แต่สิ่งที่จะใช้ได้กับจำนวนข้อโต้แย้งใด ๆ อดีต ./script f f1 f2 f3
1 unix  bash  script 

4
วิธีที่ง่ายที่สุดในการตรวจสอบว่าสตริงที่กำหนดเป็นชื่อ FQDN ที่ถูกต้องหรือไม่?
ฉันต้องการจัดหาอย่างใดอย่างหนึ่ง'-name'หรือ'-sname'เมื่อเริ่มต้น Erlang VM ขึ้นอยู่กับว่าสตริงที่กำหนดเป็นชื่อเต็ม (FQDN) หรือไม่ อะไรจะเป็นวิธีที่รวดเร็วและเป็นอิสระต่อสิ่งแวดล้อมในการตรวจสอบความถูกต้องนั้น ฉันสนใจมากขึ้นในการใช้คำสั่งบางทุบตี (ชอบ'getent'หรือ'nslookup'หรือคนอื่น ๆ ) มากกว่าการแสดงออก regex ดีที่สุดถ้ามันทำงานใน Ubuntu, FreeBSD และ Solaris โดยไม่มีการเปลี่ยนแปลงและสามารถใช้ในการทุบตี'if'ได้อย่างง่ายดาย
1 linux  bash  dns  domain 

2
การลบไฟล์และลิงก์ทั้งหมด - ฮาร์ดและสัญลักษณ์
ฉันจะลบไฟล์และลิงก์ทั้งหมดที่เกี่ยวข้องกับไฟล์เพื่อลบได้อย่างไร rm -f file.txtลบเฉพาะไฟล์ ยิ่งไปกว่านั้นถ้ามีฮาร์ดลิงก์อื่น ๆ ของระบบไฟล์ไฟล์จะไม่ถูกลบ วิธีที่มีประโยชน์มากที่สุดในการทำเช่นนี้คืออะไร? หรืออาจจะมีคำสั่งให้รับลิงค์ทั้งหมดของไฟล์
1 bash  debian 

1
ไปป์และดู piped output หรือไม่
ฉันต้องการสร้างเชลล์ไพพ์เช่นนี้: producer | analyser > report.txt และดูผลลัพธ์producerในขณะที่กำลังสร้างข้อมูล (ไฟล์บันทึกขนาดใหญ่) สำหรับการวิเคราะห์ ฉันจะทำสิ่งนั้นได้อย่างไร

1
Firefox - ดาวน์โหลดไฟล์โดยใช้สคริปต์ทุบตีภายนอก
เป็นไปได้หรือไม่ที่จะเผยแพร่สคริปต์ทุบตีภายนอกเมื่อดาวน์โหลดไฟล์ใน Firefox? เป้าหมายของฉันคือการปรับแต่งสูง เช่นการเขียนสคริปต์สิ่งที่จะบันทึกไฟล์ไปยังโฟลเดอร์ที่ระบุตามส่วนขยายอาจไม่สำคัญกับ bash และ wget ลิงค์ที่เกี่ยวข้องที่ฉันได้พบ แต่น่าเสียดายที่ไม่มีใครแก้ปัญหาของฉันโดยตรง: การเรียกสคริปต์ทุบตีจาก firefox วิธีที่จะเปิด exe ที่มีจาวาสคริปต์-XPCOM as-หน้าต่างวิ่ง วิธีการทำงาน-a-ท้องถิ่น exe ใน-Firefox นามสกุลของฉัน ทำงาน-exe ใน Firefox ทำไมทำ-I-ได้รับข้อผิดพลาด
1 linux  firefox  bash  wget 

1
การใช้ Cron เพื่อให้แน่ใจว่ากระบวนการพื้นหลังทำงานอยู่
ฉันพยายามเรียกใช้กระบวนการพื้นหลัง PHP ที่เป็นผู้บริโภคสำหรับข้อความ Rabbit MQ ฉันสามารถเรียกใช้สคริปต์ในชื่อ "php receive.php &" แต่ฉันต้องการให้แน่ใจว่าสคริปต์นี้ทำงานอยู่ตลอดเวลา ฉันได้รวบรวมสคริปต์ทุบตีที่ดูเหมือนพยายามค้นหา PID ของกระบวนการ หากไม่พบ PID ก็จะเริ่มต้นสคริปต์สำรอง ถ้ามันพบกระบวนการมันก็แค่สะท้อน PID ฉันพยายามรัน Bash Script บน Cron ทุก ๆ ชั่วโมงเพื่อให้แน่ใจว่ากระบวนการพื้นหลังทำงานอยู่ แต่ฉันไม่ได้เปิดใช้งาน ถ้าฉันรัน Shell / Bash Script โดยตรง มันทำงานได้อย่างสมบูรณ์ Bash Script p=$(pidof -s php receive.php) if [[ -z "${p// }" ]] then php /var/www/html/example.com/public_html/receive.php & …
1 linux  bash  shell  php  cron 

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