เหตุใดการตั้งค่านามแฝงจึงเขียนทับลิงก์ปฏิบัติการได้


-1

ฉันอยากรู้ว่าทำไมการเพิ่มรายการถึง .bashrc ทำให้ลิงค์ถูกเขียนทับ? ตัวอย่างเช่นบนเครื่องทดสอบฉันติดตั้ง Java ด้วย apt-get install openjdk-7-jre แล้วเล่นด้วย .bashrc โดยการเพิ่ม alias java="echo Java!". เมื่อฉันวิ่ง java จากทุบตีฉันพบว่ามันสะท้อน Java! แทนที่จะเรียกใช้จาวาซึ่งอยู่ที่ /usr/bin/java. ฉันยังพบว่าสิ่งนี้เกิดขึ้นกับ ps, sh และ screen. เหตุใดจึงเป็นเช่นนี้


2
นี่คือสิ่งที่นามแฝงที่ควรจะทำ - แทนที่นามแฝงด้วยคำสั่งที่ระบุเมื่อพิมพ์ใน bash prompt
baochan

คำตอบ:


0

เพราะนั่นเป็นวิธีการทุบตี อยู่ในคู่มือ - นามแฝงมีลำดับความสำคัญสูงกว่าเมื่อพยายามจับคู่อินพุตกับคำสั่ง

การใช้นามแฝงทั่วไปคือการแทนที่คำสั่ง; ตัวอย่างเช่น:

alias java="\java -Xmx=1G"

นามแฝงข้างต้นจะเพิ่มจำนวนหน่วยความจำสูงสุดเริ่มต้นที่มีให้กับกระบวนการ java จาก 256MiB เป็น 1GiB วิธีเดียวที่จะให้สิ่งนี้มีประโยชน์มีประโยชน์อย่างไรคือเมื่อฉันพิมพ์ javaมันรันนามแฝงและไม่ใช่คำสั่ง

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