我必须编辑/etc/fstab来更改/dev/shm参数的安装选项。
源行是:
tmpfs /dev/shm tmpfs size=11g 0 0
我想在许多服务器的/dev/shm分区的第四个字段(挂载选项(中添加noexec。(安装选项中有不同尺寸(所以我长篇大论地讲了这个代码:获取安装选项的值。我用过:
shmvar=`grep -E 's/dev/shms' /etc/fstab | awk '{ print $4 }'`
输出为:size=11g
sed -i -e '/shm/s/$shmvar/$shmvar,noexec/' /etc/fstab
或
sed -i -e '/shm/s/$shmvar/&,noexec/' /etc/fstab
但是sed命令都不起作用。
而我使用";尺寸=11g";而不是"$shmvar";它起作用:
sed -i -e '/shm/s/size=11g/size=11g,noexec/' /etc/fstab
OR
sed -i -e '/shm/s/size=11g/&,noexec/' /etc/fstab
但是因为";尺寸";服务器中的值不同,我必须使用变量
非常感谢您的快速帮助。感谢
使用GNUawk
。如果第二个字段包含/dev/shm
,则将,noexec
附加到第四个字段。
awk -i inplace 'BEGIN{ OFS="t" } $2=="/dev/shm"{ $4=$4 ",noexec" } { print }' file
输出:
tmpfs/dev/shm-tmpfs大小=11g,noexec 0 0