将 echo 命令添加到 /etc/profile 以禁用屏幕消隐

将 echo 命令添加到 /etc/profile 以禁用屏幕消隐

我正在考虑将以下 echo 命令添加到 /etc/profile

echo -e ‘\033[9;0]\033[14;0]’

有问题的系统没有可用的 setterm 命令,只是运行文本控制台。

按照我计划的方式这样做有什么问题吗?

答案1

/etc/profile被几个类似 Bourne 的 shell 读取。echo -e不是标准的,因此您的系统上可能有一些 shell 无法识别它。您应该使用 printf 代替。

printf '\033[9;0]\033[14;0]'

(此外,不会添加那个虚假的换行符)。

有些工具可能会启动非交互式登录 shell(例如bash --login),但您可能不希望这种情况发生。您可以添加额外的检查,例如:

case $TERM$- in
  (linux*i*) printf '\033[9;0]\033[14;0]' > /dev/tty
esac

检查您是否位于 Linux 虚拟控制台中并且它是一个交互式 shell。如果 stdout 已重定向,则输出到控制终端。

相关内容