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

การทำสคริปต์ Bash กำลังสร้างสคริปต์ในภาษา Bash shell

1
แตกต่างกับเนื้อหาของไฟล์
ฉันกำลังพยายามทำไฟล์สองไฟล์ที่แตกต่างกันและเปรียบเทียบเนื้อหาและถ้ามันต่างกันก็ส่งอีเมล์ ด้านล่างเป็นสคริปต์ของฉันที่ฉันไม่สามารถทำงานด้วยเหตุผลบางอย่าง ข้อเสนอแนะใด ๆ ยินดีต้อนรับ #!/bin/bash # This script alert.sh runs every hour in cron # Created march 15, 2018 Author Dave Taylor # Variables frm="Datafile-Monitor@mycompany.com" # For testing email and script recipients="dave@mycompany.com" # This is the Data file checked every Midnight for website results done by curdata.sh script. Results …

1
ไม่สามารถเมานต์ปริมาณ TrueCrypt โดยอัตโนมัติ
ฉันมีสคริปต์สำหรับเดารหัสผ่านของปริมาณ TrueCrypt มันควรจะทำงานได้ แต่ TrueCrypt หรือ VeraCrypt บอกว่ามันถูกเรียกใช้ด้วยพารามิเตอร์บรรทัดคำสั่งที่ไม่ถูกต้อง มีใครสามารถช่วยได้บ้าง #!/bin/bash working="working.txt" tc=veracrypt prefix="--text --keyfiles= --protect-hidden=no --non-interactive -p " sufix="gentle.tc /mnt" count=0 echo archive=gentle.tc while read -r p; do echo -en "\033[2K\r$p" if $tc "$prefix\"$p\" $sufix"; then echo "$p" >>$working ; exit ; fi if $tc "$prefix\"$p\n\" $sufix"; then echo "$p" …

2
bash: ./wls1036_solaris32.bin: อาร์กิวเมนต์ไม่ถูกต้อง
มีประสบการณ์บางอย่างในอูบุนตูผมติดตั้งsolaris 11gเมื่อเร็ว ๆ WebLogicนี้ในการทำงานกับ ฉันดาวน์โหลดwls1036_solaris32.binไฟล์แล้ว เมื่อฉันวิ่ง./wls1036_solaris32.binเข้าไปในสถานีฉันได้รับ bash: ./wls1036_solaris32.bin: Invalid argument กรุณาช่วยฉันออกไป.

1
เรียกใช้สคริปต์แต่ละหน้าต่างเทอร์มินัลเวลาที่เปิด
ดังนั้นฉันจึงได้เขียนสคริปต์ทุบตีง่ายๆเพื่อเรียกใช้โปรแกรมที่เรียกว่า "cmatrix" ทุกครั้งที่มีหน้าต่างเทอร์มินัลใหม่เปิดขึ้น ฉันได้เปลี่ยนการอนุญาตบนไฟล์ดังนั้นจึงเป็น rx สำหรับทุกคนและตรวจสอบว่ามันจะทำงานอย่างที่ฉันต้องการเมื่อถูกเรียก แต่ตอนนี้ฉันไม่ทราบว่าจะใส่สคริปต์ไว้ที่ไหนเพื่อให้มันทำงานบนทุบตีใหม่ทุกครั้ง เปิดตัวสถานี ฉันรู้ว่าถ้าฉันต้องการให้มันทำงานเมื่อเริ่มต้นฉันจะวางไว้ใน usr / local / bin แต่ฉันเพียงต้องการให้มันทำงานเมื่อฉันเปิดหน้าต่างเทอร์มินัลใหม่ ง่ายมาก: cmatrix -bs -C cyan ความช่วยเหลือใด ๆ และชื่นชมทั้งหมด! ขอบคุณ

2
รวมหลายไอเอฟทุบตี
ฉันจะลดความซับซ้อนของรหัสต่อไปนี้ถ้าคำสั่งได้อย่างไร ขอขอบคุณ function git_dirty { text=$(git status) changed_text="Changes to be committed" changes_not_staged="Changes not staged for commit" untracked_files="Untracked files" dirty=false if [[ ${text} = *"$changed_text"* ]];then dirty=true fi if [[ ${text} = *"$changes_not_staged"* ]];then dirty=true fi if [[ ${text} = *"$untracked_files"* ]];then dirty=true fi echo $dirty }

1
วิธีรันสคริปต์ bash ตามกำหนดเวลาที่ต้องการให้ผู้ใช้ป้อนด้วย launchd / cron
ฉันมีสคริปต์ทุบตีที่สำรองไฟล์บางไฟล์ไปยังเซิร์ฟเวอร์ระยะไกลโดยใช้ rclone ฉันต้องการเรียกใช้สคริปต์นี้ทุกสัปดาห์ สคริปต์ถามฉันสองคำถาม: มันยืนยันว่าฉันต้องการเรียกใช้ในเวลานั้นและจากนั้นจะถามรหัสผ่านสำหรับเซิร์ฟเวอร์ระยะไกล มันง่ายพอที่จะรันสคริปต์ทุบตีที่กำหนดไว้โดยใช้ cron หรือ launchd อย่างไรก็ตามสคริปต์ทุบตีต้องการอินพุตของผู้ใช้ AFAIK ทั้ง launchd และ cron run daemons ในพื้นหลัง เป็นการดีที่มันจะเปิดตัวอย่างของหน้าต่าง Terminal และเรียกใช้สคริปต์ในนั้น วิธีที่ดีที่สุดที่จะไปเกี่ยวกับเรื่องนี้คืออะไร? ขอขอบคุณสำหรับความช่วยเหลือ!

2
วิธีการใช้ชื่อไฟล์ปัจจุบันหลายครั้งในคำสั่งไพพ์?
ฉันพยายามแปลงชุดไฟล์. mov เป็น mp4 ฉันจะรับชื่อไฟล์จากไปป์เพื่อสร้างคำสั่ง ffmpeg ได้อย่างไร วิธีใช้ข้อโต้แย้งไปป์หลายครั้งในลิงค์โซ่? ฉันพยายามที่จะมีอะไรแบบนั้น: ls *.MOV | ffmpeg -y -i $file "$file.mp4"

2
ทำไมฉันไม่สามารถเปลี่ยนเส้นทางผลลัพธ์จาก awk ได้
ฉันได้เขียนรายการนี้เพื่อแสดงการอ่าน / เขียน MB ทุก 5 วินาที #!/bin/bash #iosum.sh iostat -dmz 5 |\ awk 'BEGIN{rx=wx=0}{if($0 == ""){printf"%.1f %.1f\n",rx,wx}else if($0~/^Device:/){rx=wx=0}else{rx+=$3;wx+=$4}}' เมื่อทำงานจากบรรทัดคำสั่งมันทำงานได้อย่างสมบูรณ์ ./iosum.sh # wait 1.1 0.0 0.0 0.1 0.0 0.0 3.0 3.0 0.0 0.0 # ctrl-c อย่างไรก็ตามเมื่อฉันพยายามใส่ผลลัพธ์ลงในไฟล์ฉันจะไม่ได้อะไรเลย ./iosum.sh > out.txt # wait # ctrl-c cat out.txt # nothing! สิ่งที่ช่วยให้?

2
Bash: ถ้า [tar = error] [ปิด]
ฉันต้องการเชลล์สคริปต์เพื่อเขียนข้อความขึ้นอยู่กับว่าtarสำเร็จหรือล้มเหลว แต่สคริปต์นี้ทำงานไม่ถูกต้อง: TAR=$(tar -cf Archiv.tar myfolder/ myotherfolder/) if [ ! "$TAR" = "/dev/null" ]; then echo "success" else echo "error - no such Directory or file" fi อะไรคือปัญหา?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.