如何在 mac OS x 上突出显示系统完整性保护响应的状态?



在我的笔记本电脑上,我经常在关闭系统完整性保护的情况下运行。 我有一份geek_script,显示了我需要了解的有关设置的许多信息。 它显示我的Mac序列号,操作系统的当前版本,MySQL是否正在运行,最新备份等。 我在脚本中添加了一行以显示系统完整性保护的状态。 从命令行,

csrutil status | grep --color  "disabled"

做我想要生产的:

System Integrity Protection status: disabled.

禁用一词以红色突出显示。

在我的geek_script中,我用#!/bin/bash作为脚本的开头,以确保bash用于运行脚本,我有以下行:

echo '`csrutil status | grep --color  "disabled"'

但是,禁用这个词没有颜色。 我尝试使用printf,\bin\echo等,正如各种谷歌搜索所建议的那样,但无济于事。

1)我怎样才能在geek_script中实现这种效果? 2)有人可以解释为什么会发生这种情况吗? 我知道命令行正在以 bash 执行,但脚本也应该在前面带有 #!/bin/bash,不是吗?
3)如果有更好的方法,请提出来。 我还有其他几个地方,如果"注意",我希望某些东西的状态是红色的,如果这是正常的,则为绿色。 例如,MySQL 正在运行[绿色],或 MySQL 已关闭[红色]。 此命令是:

#!/bin/bash
UP=$(pgrep mysqld | wc -l);
if [ $UP != 1 ];
then
echo "MYSQL is down.";
else
echo "MySQL is running.";
fi

在源自geek_scripts脚本的文件中。

提前感谢!

您可能希望更喜欢env bash shebang,因为它不依赖于可能会有所不同的bash路径,但是/usr/bin/env命令始终存在。

#!/usr/bin/env bash

要在 grep 命令未在交互式 shell 中运行时保留其颜色输出,请使用--color=always"查看 grep 手册页"选项。

-

-颜色[=时间], --颜色[=时间] 将匹配的(非空)字符串、匹配的行、上下文行、文件名、行号、字节偏移量和分隔符(对于字段和组 上下文线)和转义序列,以在终端上以彩色显示它们。颜色由环境变量GREP_COLORS定义。这 仍支持已弃用的环境变量GREP_COLOR,但其设置没有优先级。何时从、始终自动

echo "$(csrutil status | grep --color=always "disabled")"

如果要控制颜色和突出显示,请使用知道代码的tput命令从termcap文件驱动终端,而不是硬编码 ANSI 转义序列。

#!/usr/bin/env bash
br="$(tput -S <<<$'setaf 1nboldn')" # Bold Red
bg="$(tput -S <<<$'setaf 2nboldn')" # Bold Green
ar="$(tput sgr0)" # Text attributes reset
echo "MYSQL is ${br}down${ar}."
echo "MySQL is ${bg}running${ar}."

经过大量的实验,感谢上帝提供了这些快速的处理器,我得到了这个工作:

> cat bin/mysql_monitor.sh
#!/bin/bash
UP=$(pgrep mysqld | wc -l);
if [ $UP != 1 ];
then
printf "MYSQL is 33[1;31mdown.33[0mn";
else
printf "MySQL is 33[1;32mrunning.33[0mn";
fi
#printf "`csrutil status | grep --color 'disabled'`n";
if  csrutil status | grep 'disabled' &> /dev/null; then
printf "System Integrity Protection status: 33[1;31mdisabled33[0mn";
else
printf "System Integrity Protection status: 33[1;32menabled33[0mn";
fi

这会产生MySQL正在"运行"(绿色),或"禁用"(红色) 并打印出红色的"禁用"或绿色的"启用"。 转义码在不同的计算机上可能不同,但这些对我有用,来自:

https://misc.flogisoft.com/bash/tip_colors_and_formatting

最新更新