ฉันใช้ Wget เพื่อส่งคำขอ HTTP ไปยังเว็บเซิร์ฟเวอร์ใหม่ ฉันทำเช่นนี้เพื่ออุ่นแคช MySQL ฉันไม่ต้องการบันทึกไฟล์หลังจากให้บริการ
wget -nv -do-not-save-file $url
ฉันจะทำอะไรที่เหมือนกับ-do-not-save-filewget ได้ไหม?
ฉันใช้ Wget เพื่อส่งคำขอ HTTP ไปยังเว็บเซิร์ฟเวอร์ใหม่ ฉันทำเช่นนี้เพื่ออุ่นแคช MySQL ฉันไม่ต้องการบันทึกไฟล์หลังจากให้บริการ
wget -nv -do-not-save-file $url
ฉันจะทำอะไรที่เหมือนกับ-do-not-save-filewget ได้ไหม?
คำตอบ:
ใช้การqตั้งค่าสถานะสำหรับโหมดเงียบและบอกwgetให้ส่งออกไปยัง stdout ด้วยO-(ตัวพิมพ์ใหญ่ o) และเปลี่ยนเส้นทาง/dev/nullเพื่อทิ้งผลลัพธ์:
wget -qO- $url &> /dev/null
>เปลี่ยนเส้นทางเอาต์พุตของแอปพลิเคชัน (ไปยังไฟล์) ถ้า>จะนำหน้าด้วยเครื่องหมายเปลือกเปลี่ยนเส้นทางขาออกทั้งหมด (ข้อผิดพลาดและปกติ) >ไปยังแฟ้มขวาของ หากคุณไม่ได้ระบุเครื่องหมายและจากนั้นเอาท์พุทปกติเท่านั้นที่ถูกเปลี่ยนเส้นทาง
./app &> file # redirect error and standard output to file
./app > file # redirect standard output to file
./app 2> file # redirect error output to file
หากไฟล์/dev/nullนั้นถูกยกเลิกทั้งหมด
วิธีนี้ใช้ได้ดีและง่ายกว่า:
wget -O/dev/null -q $url
Curlทำตามค่าเริ่มต้นโดยไม่มีพารามิเตอร์หรือค่าสถานะใด ๆ ฉันจะใช้เพื่อจุดประสงค์ของคุณ:
curl $url > /dev/null 2>&1
Curl นั้นเกี่ยวกับการสตรีมและ wget นั้นเป็นเรื่องเกี่ยวกับการคัดลอกไซต์ตามการเปรียบเทียบนี้
>/dev/nullเปลี่ยนเส้นทางครั้งแรกstd ออกเป็น / dev / null ( >/dev/nullสั้นสำหรับ1>/dev/null), อันดับที่สองเปลี่ยนเส้นทางstd errไปยัง std out
>foo 1>fooเมื่อ&ติดตามการเปลี่ยนเส้นทางจะสั่งให้เชลล์เปลี่ยนเส้นทางตัวอธิบายไฟล์เดิมไปยังเอาต์พุตเดียวกันกับภายหลัง ในกรณีนี้ให้2>&1บอกว่า file descriptor 2 (std err) ไปยังตำแหน่งเดียวกับ file descriptor 1 (std out) เนื่องจาก std out ถูกเปลี่ยนเส้นทางไปยัง / dev / null แล้ว std err จะถูกเปลี่ยนเส้นทางที่นั่น นอกจากนี้คุณยังสามารถเขียน: หรือ1>/dev/null 2>/dev/null 2>/dev/null >&2
curl http://www.example.comก็เพียงพอแล้ว
คุณสามารถใช้-O-(ตัวพิมพ์ใหญ่ o) เพื่อเปลี่ยนเส้นทางเนื้อหาไปยัง stdout (เอาต์พุตมาตรฐาน) หรือไปยังไฟล์ (แม้แต่ไฟล์พิเศษเช่น/dev/null /dev/stderr /dev/stdout)
wget -O- http://yourdomain.com
หรือ:
wget -O- http://yourdomain.com > /dev/null
หรือ: (ผลลัพธ์เดียวกับคำสั่งสุดท้าย)
wget -O/dev/null http://yourdomain.com