Tôi đọc dòng lệnh này trong sách [trình điều khiển thiết bị linux]. Bất cứ ai có thể giúp giải thích những gì nó làm (có thể một vài từ chi tiết)?Ý nghĩa của dòng lệnh shell này với awk
major=$(awk "\\$2= =\"$module\" {print \\$1}" /proc/devices)
như trong bối cảnh:
#!/bin/sh
module="scull"
device="scull"
mode="664"
# invoke insmod with all arguments we got
# and use a pathname, as newer modutils don't look in . by default
/sbin/insmod ./$module.ko $* || exit 1
# remove stale nodes
rm -f /dev/${device}[0-3]
major=$(awk "\\$2= =\"$module\" {print \\$1}" /proc/devices)
mknod /dev/${device}0 c $major 0
....
Dù cuốn sách bạn đọc rằng trong, đốt cháy nó. Ít nhất một nửa số dòng trong tập lệnh đó có ít nhất một lỗi trên mỗi dòng và cách nó gọi awk chỉ là vô lý. –
@EdMorton vui lòng đề nghị một cuốn sách thay thế ... –
Đối với shell: Shell Scripting Recipes của Chris Johnson. Đối với awk: Lập trình Awk hiệu quả của Arnold Robbins. –