โปรดดูคำสั่งเหล่านี้:
$ notify-send SYNC TIME!
$ notify-send 'SYNC TIME!'
$ notify-send "SYNC TIME!"
bash: !": event not found
$
สองคำสั่งแรกสร้างบับเบิลการแจ้งเตือนตามที่คาดไว้ ข้อที่สามแสดงข้อผิดพลาด
และ
$ echo SYNC TIME!
SYNC TIME!
$ echo 'SYNC TIME!'
SYNC TIME!
$ echo "SYNC TIME!"
bash: !": event not found
$
ที่นี่เช่นกันการecho
ทำงานสำหรับสองคำสั่งแรก แต่ไม่ใช่ในคำสั่งที่สาม
ปัญหาเพิ่มเติมที่นี่ (แม้ว่าฉันไม่ได้วางแผนในการใช้นี้): ทั้งสองnotify-send "SYNC!TIME"
และให้echo "SYNC!TIME"
bash: !TIME": event not found
แต่ทั้งคู่notify-send
และecho
ทำงานด้วย"SYNC! TIME"
ใครช่วยกรุณาอธิบายว่าทำไมbash: !": event not found
ข้อผิดพลาดปรากฏขึ้น?
.bashrc
ในบรรทัดของset +H
คุณ โปรดทราบว่า!
ไม่ใช่สคริปต์พิเศษในการเขียนสคริปต์ ถือว่าเป็นพิเศษจะทำลายสคริปต์ตามมาตรฐานจำนวนมาก มันจะถือว่าเป็น "พิเศษ" ในเชลล์แบบโต้ตอบและโดยค่าเริ่มต้นเท่านั้นจนกว่าคุณจะแก้ไข :-)