2
พฤติกรรมที่แปลกประหลาดของ TR ใช้ช่วง
ฉันมีเซิร์ฟเวอร์หนึ่งที่แสดงพฤติกรรมแปลก ๆ เมื่อใช้ tr นี่คือตัวอย่างจากเซิร์ฟเวอร์ที่ใช้งานได้: -bash-3.2$ echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-z] 1234567890 -bash-3.2$ นั่นทำให้รู้สึกที่สมบูรณ์แบบสำหรับฉัน อย่างไรก็ตามสิ่งนี้มาจากเซิร์ฟเวอร์ 'พิเศษ': [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-z] abcdefghijklmnpqrstuvwxyz1234567890 อย่างที่คุณเห็นการลบอักขระตัวพิมพ์เล็กทั้งหมดล้มเหลว แต่มันได้ลบตัวอักษร 'o' ส่วนที่น่าสนใจคือสองตัวอย่างต่อไปนี้ซึ่งไม่สมเหตุสมผลกับฉันเลย: [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-n] opqrstuvwxyz1234567890 [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-o] abcdefghijklmnpqrstuvwxyz1234567890 [root@host~]# (อีกครั้งเครื่องหมาย 'o' จะถูกลบในตัวอย่างสุดท้าย) ไม่มีใครมีความคิดอะไรเกิดขึ้นที่นี่? ฉันไม่สามารถทำซ้ำในกล่อง linux อื่น ๆ ที่ฉันใช้