쉘 프롬프트에서 커서를 자동으로 표시하는 방법

쉘 프롬프트에서 커서를 자동으로 표시하는 방법

커서를 쉘 터미널 프롬프트로 가져오기 위해 다음 일련의 명령을 실행합니다.

$ NL='              # << press enter
'                   # << press enter again
$ PS1=${PS1}${NL}

로그인할 때마다 이 작업을 수행해야 합니다. 어떻게 자동화할 수 있나요? 동일한 문을 추가 ~/.profile하고 다시 시작해 보았습니다. 불운.

편집하다:

내가 한 일은 다음과 같습니다. (I create it) 에 다음 (내가 가장 좋아하는 bash 프롬프트) 줄을 추가했습니다 ~/.bashrc.

export PS1="===================\n\n\d \A \u@\H [\w]\n\\$ \[$(tput sgr0)\]"

답변1

사용 NL=$'\n'. $NL또한 사용할 때 큰따옴표가 필요합니다(또는 $PS1포함된 내용에 따라 아마도...어쨌든 큰따옴표로 묶으십시오).

예를 들어 귀하의 항목에 추가하십시오 ~/.bash_profile(또는 ~/.profile원하는 경우).

NL=$'\n'
PS1="${PS1}${NL}"

그런데 장기적으로 보면 추가 개행으로 인해 얼마나 많은 귀중한 수직 터미널 공간이 낭비되는지에 질리게 될 것입니다. 화면은 높이보다 훨씬 넓은 경향이 있으므로(예를 들어 16:9 화면 비율의 일부 일반적인 해상도는 1920x1080 또는 2560x1440인 반면 16:10의 일반적인 해상도는 1920x1200 또는 2560x1600입니다), 따라서 수직 화면 공간은 더 드물고 더 가치가 있습니다. . 낭비하는 공간이 많을수록 화면에 즉시 표시되는 유용한 정보는 줄어듭니다.

답변2

명시적으로 메시지를 표시할 수 있는 항목은 다음과 같습니다.

PS1='\u@\h:\w\n\$ '

바라보다https://www.gnu.org/software/bash/manual/bashref.html#Controlling-the-Prompt

나는라인 프롬프트가 나에게 잘 작동합니다.

관련 정보