ฉันใช้ Wget เพื่อส่งคำขอ HTTP ไปยังเว็บเซิร์ฟเวอร์ใหม่ ฉันทำเช่นนี้เพื่ออุ่นแคช MySQL ฉันไม่ต้องการบันทึกไฟล์หลังจากให้บริการ
wget -nv -do-not-save-file $url
ฉันจะทำอะไรที่เหมือนกับ-do-not-save-file
wget ได้ไหม?
ฉันใช้ Wget เพื่อส่งคำขอ HTTP ไปยังเว็บเซิร์ฟเวอร์ใหม่ ฉันทำเช่นนี้เพื่ออุ่นแคช MySQL ฉันไม่ต้องการบันทึกไฟล์หลังจากให้บริการ
wget -nv -do-not-save-file $url
ฉันจะทำอะไรที่เหมือนกับ-do-not-save-file
wget ได้ไหม?
คำตอบ:
ใช้การ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