편집했습니다기본값/etc/update-motd.d/00-header
, 더 쉽게 읽을 수 있도록 색상을 추가하세요.
printf "Welcome to \e[1;34m%s\e[0m \e[2m(%s %s %s)\e[0m\n" "$DISTRIB_DESCRIPTION" "$(uname -o)" "$(uname -r)" "$(uname -m)"
터미널에서 이 코드 줄을 잘 실행할 수 있지만 00-header
이 정보를 편집하면 이스케이프 코드가 일반 텍스트로 인쇄됩니다.
Welcome to \e[1;36mUbuntu 13.10\e[0m \e[2m(GNU/Linux 3.11.0-23-generic i686)\e[0m
오늘의 메시지에 다채로운 색상을 추가하는 방법은 무엇입니까?
답변1
Ubuntu를 사용한다고 가정하면 대시를 사용하여 시스템 스크립트를 실행합니다.
이 파일은 /etc/update-motd.d/00-header
다음에 의해 생성됩니다./bin/dash
, (아님 /bin/bash
,) 이는 매우 미니멀하고 빠릅니다. -
지원하지 않는 것 같습니다."\이자형"이 곳에서 - 사용"\033"대신에.
이스케이프 코드가 확장되는 경우에는 차이가 있습니다.
답변2
Debian/Ubuntu에서 다음과 같이 motd
구성됩니다 /etc/pam.d/sshd
.
session optional pam_motd.so motd=/run/motd.dynamic
session optional pam_motd.so noupdate
이는 로그인에 성공하면 시스템이 다음과 같이 실행된다는 것을 의미합니다.
cat /run/motd.dynamic
if [[ -f /etc/motd ]]; then cat /etc/motd; fi
/etc/motd
정적 부분은 어디에 있습니까(인쇄만 가능하고 출처는 제공되지 않음).
데비안 9/우분투 16.04:
run-parts
카탈로그의 동적 부분을 생성하는 데 사용됩니다 /etc/update-motd.d
.
/usr/bin/env -i PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin run-parts --lsbsysinit /etc/update-motd.d
더 읽기 쉬운 코드를 위해 를 사용할 수 있습니다 tput setaf {color number}
. 색상을 유지하려면 TERM
변수를 설정해야 합니다.
#!/bin/sh
export TERM=xterm-256color
read one five fifteen rest < /proc/loadavg
echo "$(tput setaf 2)
Kernel: `uname -v | awk -v OFS=' ' '{print $4, $5}'`
$(tput setaf 4)Load Averages......: ${one}, ${five}, ${fifteen} (1, 5, 15 min)
$(tput setaf 5)
______________
< Hello World! >
--------------
\\ ^__^
\\ (oo)\\_______
(__)\\ )\\\/\\
||----w |
|| ||
$(tput sgr0)"
예를 들어 파일을 저장하십시오./etc/update-motd.d/10-uname
그리고 실행 가능한지 확인하세요.
chmod +x /etc/update-motd.d/10-uname
기본 색상 번호:
- 1 – 빨간색
- 2 – 녹색
- 3 – 노란색
- 4 – 파란색
- 5 – 마젠타
- 6 – 청록색
- 7 – 흰색
취향에 따라 lolcat
또는 헤더를 사용하여 더욱 다채로운 출력을 생성 할 수 있습니다 figlet
. 생성된 출력은 표준 bash 구문을 사용합니다.
^[(B^[[m
^[[32m
Kernel: 4.9.65-3+deb9u2 (2018-01-04)
^[[34mLoad Averages......: 0.04, 0.05, 0.05 (1, 5, 15 min)
^[[35m
______________
< Hello World! >
--------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
^[(B^[[m
데비안 8/우분투 14.04
동적 부분은 /etc/init.d/motd start
다음 명령을 실행하여 업데이트됩니다.
uname -snrvm > /var/run/motd.dynamic
답변3
<ESC>
색상 코드 앞에 ANSI 이스케이프 문자를 삽입하세요. Vim을 사용한다면 누르거나 Ctrl+K ESC
편집 Ctrl+v+[
모드로 들어갈 것입니다.
^[
그런 다음 원하는 색상 코드를 작성하세요. 예를 들어 빨간색 전경으로 만들어 보세요.[31m
^[[31mHello! Glad to see you again^[[0m
시작 부분은 ^[
이스케이프 문자가 존재하고 [31m
손으로 쓴 실제 문자임을 나타내는 표시여야 합니다.