/etc/profile에 다음 echo 명령을 추가하려고 합니다.
echo -e ‘\033[9;0]\033[14;0]’
문제의 시스템에는 사용 가능한 setterm 명령이 없으며 단순히 텍스트 콘솔만 실행합니다.
내가 계획한 대로 이렇게 하는 데 문제가 있는 걸까요?
답변1
/etc/profile
Bourne과 같은 여러 껍질로 읽습니다. echo -e
표준이 아니므로 시스템에 이를 인식하지 못하는 일부 쉘이 있을 수 있습니다. 대신 printf를 사용해야 합니다.
printf '\033[9;0]\033[14;0]'
(또한 가짜 개행 문자는 추가되지 않습니다.)
일부 도구는 비대화형 로그인 셸(예 bash --login
: )을 시작할 수 있지만 이를 원하지 않을 수도 있습니다. 다음과 같은 추가 검사를 추가할 수 있습니다.
case $TERM$- in
(linux*i*) printf '\033[9;0]\033[14;0]' > /dev/tty
esac
현재 Linux 가상 콘솔에 있고 대화형 셸인지 확인하세요. stdout이 리디렉션되면 출력은 제어 터미널로 전달됩니다.