พอดีเจอปัญหาที่แสดงข้อความผิดพลาด "Unknown parameter type: 0" ในระบบ Moodle ขณะที่ต้องการเพิ่มแหล่งข้อมูล อันดับแรกจึงเริ่มแก้ปัญหาโดยการหาไฟล์ที่มีข้อความผิดพลาดนี้
หากเราต้องการหาไฟล์ที่มีคำสำคัญ (keyword) ว่า "Unknown parameter" ในไฟล์ต่าง ๆ ใต้ไดเร็กทอรี่ Moodle แต่เราไม่ทราบว่ามันอยู่ที่ไฟล์ใด
เราสามารถจะใช้คำสั่ง
find . | xargs grep 'Unknown parameter'
ซึ่งคำสั่งนี้จะทำให้คอมพิวเตอร์หาไฟล์ต่าง ๆ ใต้ไดเรกทอรี่ปัจจุบัน (.) จากนั้นให้หาคำว่า 'Unknown parameter' ในไฟล์ต่าง ๆ เหล่านั้น
จากการใช้คำสั่งนี้จึงพบว่าข้อผิดพลาด 'Unknown parameter type: 0" เขียนไว้ที่ไฟล์ moodlelib.php ดังนั้นจึงไม่ถูกต้อง จึงไปโหลด moodlelib.php ใหม่แล้วเก็บไว้ที่เซิร์ฟเวอร์ ซึ่งปรากฎว่าก็ทำให้แก้ปัญหานี้ได้
ที่จริงเราสามารถใช้คำสั่ง
grep 'Unknown parameter' *
ได้เลยนะครับ ซึ่งค่าโดยปริยายจะเป็นการค้นหาแบบ Case Sensitive แต่ในบางทีเราอาจต้องการค้นหาแบบ Case Insensitive เราก็สามารถทำได้โดยใช้พารามิเตอร์ -i ครับ
grep -i 'Unknown parameter' *
ถ้าเราใช้ grep 'Unknown parameter' *
จะหาได้เฉพาะจากไฟล์ในไดเรกทอรี่ปัจจุบัน
แต่ไม่สามารถหาไฟล์ที่อยู่ใต้ไดเรกทอรี่ปัจจุบันได้
แต่ถ้าเราใช้คำสั่ง find . | grep 'Unknown parameter'
เราสามารถหาไฟล์ที่มีคำสำคัญได้จากไฟล์ใด ๆ ที่อยู่ในไดเรกทอรี่ปัจจุบันและอยู่ใต้ไดเรกทอรี่ปัจจุบันค่ะ
อ๋อครับ ปกติแล้ว ผมไม่แทบจะไม่ใ้ช้คำสั่ง find เลยครับ ส่วนมากจะใช้
du -a |grep 'Unknow parameter'
ซึ่งจะให้ผลลัพธ์เช่นเดียวกับ
find . |grep 'Unknow parameter'