ฉันสามารถเรียก pushd / popd และป้องกันไม่ให้มันพิมพ์สแต็คได้หรือไม่?


16

หลังจากการเรียกpushd/ popdin bash มันจะพิมพ์ออกจากไดเรกทอรีสแต็คปัจจุบัน มีวิธีใดที่จะป้องกันพฤติกรรมนี้ได้ เสียงรบกวนในคำสั่งนี้เป็นเรื่องแปลกในเครื่องมือยูนิกซ์

คำตอบ:


23

ฉันคิดว่า "เสียง" ประเภทนี้ไม่ใช่เรื่องแปลกนั่นคือเหตุผลที่คุณมักจะทำสิ่งนี้:

pushd > /dev/null

1
นอกจากนี้คุณยังสามารถสร้างฟังก์ชันเพื่อกำหนดคำสั่งใหม่และติดไว้ใน.bashrcเช่น:pushd() { builtin pushd $1 > /dev/null; }
violet

5
@jrod: เนื่องจากpushdสามารถรับได้หลายอาร์กิวเมนต์คุณอาจต้องการให้เป็นpushd() { builtin pushd "$@" > /dev/null; }และอัญประกาศจัดการชื่อไดเรกทอรีด้วยช่องว่าง
หยุดชั่วคราวจนกว่าจะมีการแจ้งให้ทราบต่อไป

2
ฉันจะบอกว่ามันผิดปกติ ปรัชญาของ linux นั้นไม่ได้พิมพ์อะไรเลยถ้าทุกอย่างเป็นไปด้วยดียกเว้นเอาท์พุทของโปรแกรมหรือ builtin ถ้ามี ตัวอย่างเช่น cd, ls, aso
vidstige

1
pushd &> /dev/nullบางคนทำ ฉันว่าอย่าทำอย่างนั้นเพราะ&หมายถึงเปลี่ยนเส้นทางทั้ง stdout และ stderr โดยปกติคุณต้องการเปลี่ยนเส้นทาง stdout เท่านั้น
Shital Shah

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