OSX 上的纳米 MOTD 的粗体文本和更改文本颜色?
Bold text and change color of text for MOTD in nano on OSX?
我正在通过“$ sudo nano /etc/motd”在终端中修改我的 MOTD,我想知道是否有办法让粗体文本 and/or 改变颜色。我检查了 nano 中的帮助文档,这通常会让我相信这种格式是不可能的 – 但我发现 Linux 用户能够通过 nano 更改其 MOTD 中的颜色的证据。
感谢任何帮助。
/etc/motd
文件只是 cat
到终端,终端很可能支持 ANSI 颜色转义序列。您可以使用(不完全是)许多文本编辑器来嵌入它。然而,重要的部分是插入(并跟踪)转义字符(通常作为键盘上的控件 [
输入)。根据 nano 的 documentation,
All keys, with the exception of Control and Meta key sequences, will enter text into the file being edited.
该例外似乎适用于转义字符。进一步阅读,它说任何字符都可以通过键入 escape 两次,然后输入其十进制值(27 表示转义)来输入。但这对我正在打字的机器不起作用。也许它适合你,也许不适合你。
您可以通过保留一些相对无用的字符(例如 #
)作为转义符然后使用 tr 来翻译 to/from,例如,
tr '3' '#' /etc/motd >/tmp/motd
nano /tmp/motd
tr '#' '3' /tmp/motd >/etc/motd
这样做,粗体文本会是这样的
#[1mBOLD#[0m
(\033 是转义字符,当然 - 有些人更喜欢 \x1b)。
您可以通过附加到文件直接从命令行执行此操作。
首先 su 到 root...
Mac:~ user$ su root
然后使用以下命令,替换您的 ANSI 颜色代码和文本...
Mac:~ root# echo "3[1;34m" >> /etc/motd
Mac:~ root# echo "Hello." >> /etc/motd
Mac:~ root# echo "3[0m" >> /etc/motd
我意识到这并没有像问题所问的那样使用 nano,但我认为有些人可能会觉得它有帮助。
创建临时 shell 脚本
touch /tmp/mtod.sh && chmod +x /tmp/mtod.sh
使用您想要的消息编辑 shell 脚本,例如
echo "Welcome to \e[38;5;196mXXX\e[0m"
将消息输出到真正的motd
文件,然后删除临时脚本
sudo sh -c '/tmp/mtod.sh > /etc/motd'
&& rm /tmp/mtod.sh
我正在通过“$ sudo nano /etc/motd”在终端中修改我的 MOTD,我想知道是否有办法让粗体文本 and/or 改变颜色。我检查了 nano 中的帮助文档,这通常会让我相信这种格式是不可能的 – 但我发现 Linux 用户能够通过 nano 更改其 MOTD 中的颜色的证据。
感谢任何帮助。
/etc/motd
文件只是 cat
到终端,终端很可能支持 ANSI 颜色转义序列。您可以使用(不完全是)许多文本编辑器来嵌入它。然而,重要的部分是插入(并跟踪)转义字符(通常作为键盘上的控件 [
输入)。根据 nano 的 documentation,
All keys, with the exception of Control and Meta key sequences, will enter text into the file being edited.
该例外似乎适用于转义字符。进一步阅读,它说任何字符都可以通过键入 escape 两次,然后输入其十进制值(27 表示转义)来输入。但这对我正在打字的机器不起作用。也许它适合你,也许不适合你。
您可以通过保留一些相对无用的字符(例如 #
)作为转义符然后使用 tr 来翻译 to/from,例如,
tr '3' '#' /etc/motd >/tmp/motd
nano /tmp/motd
tr '#' '3' /tmp/motd >/etc/motd
这样做,粗体文本会是这样的
#[1mBOLD#[0m
(\033 是转义字符,当然 - 有些人更喜欢 \x1b)。
您可以通过附加到文件直接从命令行执行此操作。
首先 su 到 root...
Mac:~ user$ su root
然后使用以下命令,替换您的 ANSI 颜色代码和文本...
Mac:~ root# echo "3[1;34m" >> /etc/motd
Mac:~ root# echo "Hello." >> /etc/motd
Mac:~ root# echo "3[0m" >> /etc/motd
我意识到这并没有像问题所问的那样使用 nano,但我认为有些人可能会觉得它有帮助。
创建临时 shell 脚本
touch /tmp/mtod.sh && chmod +x /tmp/mtod.sh
使用您想要的消息编辑 shell 脚本,例如
echo "Welcome to \e[38;5;196mXXX\e[0m"
将消息输出到真正的
motd
文件,然后删除临时脚本sudo sh -c '/tmp/mtod.sh > /etc/motd'
&& rm /tmp/mtod.sh