สคริปต์จะไม่วนซ้ำไฟล์ตามที่วางแผนไว้


0

ฉันได้รับสคริปต์นี้ที่วนซ้ำผ่านล็อกไฟล์ แต่ฉันเปลี่ยนบางอย่างและมันไม่ทำงาน:

#!/bin/sh
n=
while true
do
    fname="trace$n.log"
    [ -f "$fname" ] || break
    n=$(($n+1))
done
traceroute google.com >"$fname"

เปลี่ยนไปเป็น:

#!/bin/sh
n=
while true
do
    fname="trace$n.log"
    [ -f "$fname" ] || break
    n=$(($n+1))
done
traceroute google.com >~/Scripts/logs/"$fname"

บรรทัดสุดท้ายมีการเปลี่ยนแปลงและตอนนี้จะไม่ทำงาน!
ความช่วยเหลือจะได้รับการชื่นชม! ขอบคุณ.


กำหนดสิ่งที่คุณหมายถึงโดย "มันจะไม่ทำงาน" นอกเหนือจากการอยู่ในไดเรกทอรีอื่นตอนนี้
Tyson

คำตอบ:


2

คุณหมายความว่าอย่างไรกับ "มันไม่ทำงาน"?

โปรดสังเกตว่า [ -f "$fname" ] กำลังทดสอบไดเรกทอรีที่ไม่ถูกต้อง ทำมัน [ -f ~/Scripts/logs/"$fname" ].

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