有人可以建议我如何解析下面的命令输出并将特定值存储在变量中。
sestatus
这是该命令的输出
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
在这里,我想存储当前模式的"强制执行" :在变量中。
任何人都可以建议我。
提前致谢。
答案 0 :(得分:3)
你可以使用cut或sed,任何实现都可以使用,
[root@giam20 ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
[root@giam20 ~]# variable=`sestatus | grep 'Current mode'|cut -f2 -d ":"`
[root@giam20 ~]# echo $variable
enforcing
[root@giam20 ~]#
这比上面写的简单。
答案 1 :(得分:2)
您可以使用sed
:
variable=$(the_command | sed -n 's/Current mode: \(.*\)/\1/p')
$(cmd)
语法称为command substituion,语句将通过cmd
的输出进行扩展。
答案 2 :(得分:2)
您可以使用awk:
variable=`sestatus | awk '/Current mode:/ {print $3}'