在笔记本电脑上,我经常在关闭系统完整性保护的情况下运行。我有一个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等,作为各种Google搜索建议,但无济于事。
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脚本的文件中。
谢谢!
答案 0 :(得分:1)
您可能希望使用env bash shebang,因为它并不取决于bash的路径可能会有所不同,但是/usr/bin/env
命令始终存在。
#!/usr/bin/env bash
要在未在交互式外壳程序中运行grep命令时保留其颜色输出,请使用选项--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 1\nbold\n')" # Bold Red
bg="$(tput -S <<<$'setaf 2\nbold\n')" # Bold Green
ar="$(tput sgr0)" # Text attributes reset
echo "MYSQL is ${br}down${ar}."
echo "MySQL is ${bg}running${ar}."
答案 1 :(得分:0)
经过大量的实验,感谢上帝为这些快速处理器提供帮助,
> cat bin/mysql_monitor.sh
#!/bin/bash
UP=$(pgrep mysqld | wc -l);
if [ $UP != 1 ];
then
printf "MYSQL is \033[1;31mdown.\033[0m\n";
else
printf "MySQL is \033[1;32mrunning.\033[0m\n";
fi
#printf "`csrutil status | grep --color 'disabled'`\n";
if csrutil status | grep 'disabled' &> /dev/null; then
printf "System Integrity Protection status: \033[1;31mdisabled\033[0m\n";
else
printf "System Integrity Protection status: \033[1;32menabled\033[0m\n";
fi
这将导致MySQL正在“运行”(绿色)或“已禁用”(红色) 并以红色打印“已禁用”或以绿色打印“已启用”。转义码在不同的计算机上可能有所不同,但是它们对我有用,来自:
https://misc.flogisoft.com/bash/tip_colors_and_formatting