当前位置: 技术问答>linux和unix
ldd3中的一点疑惑
来源: 互联网 发布时间:2016-11-27
本文导语: 这是第三章的shell脚本: #!/bin/sh module="scull" device="scull" mode="664" /sbin/insmod ./$module.ko $* || exit 1 rm -f /dev/${device}[0-3] major=$(awk "$2=="$module" {print $1}" /proc/devices) mknod /dev/${device}0 c $majo...
这是第三章的shell脚本:
我想知道的是:
group="staff"
grep '^staff:' /etc/group||group="wheel"
这两行什么意思,到底起了什么作用????
#!/bin/sh
module="scull"
device="scull"
mode="664"
/sbin/insmod ./$module.ko $* || exit 1
rm -f /dev/${device}[0-3]
major=$(awk "$2=="$module" {print $1}" /proc/devices)
mknod /dev/${device}0 c $major 0
mknod /dev/${device}1 c $major 1
mknod /dev/${device}2 c $major 2
mknod /dev/${device}3 c $major 3
group="staff"
grep '^staff:' /etc/group||group="wheel"
chgrp $group /dev/${device}[0-3]
chmod $mode /dev/${device}[0-3]
我想知道的是:
group="staff"
grep '^staff:' /etc/group||group="wheel"
这两行什么意思,到底起了什么作用????
|
刚好在看LDD3,试着解释一下:
# give appropriate group/permissions, and change the group.
# Not all distributions have staff, some have "wheel" instead.
# 设置device node的用户组和访问权限
# 不是所有的Linux版本都有staff用户组,所以有些Linux版本需要用wheel用户组
#初始化group变量,设置为“staff”
group="staff"
#在/etc/group文件中,搜索'^staff:'字符串,如果该字符串不存在
#那么group重新被赋值,设置为"wheel"
grep -q '^staff:' /etc/group || group="wheel"
#用chgrp命令,修改设备node的用户组,将其设置成staff或者wheel
chgrp $group /dev/${device}[0-3]
|
用户组分别为:staff,"wheel"
|
grep '^staff:' /etc/group||group="wheel"
二个命令行
grep '^staff:' /etc/group 和 group="wheel"
第一个失败才做第二个
二个命令行
grep '^staff:' /etc/group 和 group="wheel"
第一个失败才做第二个