텍스트의 올바른 정렬에 대한 코드를 읽고 몇 가지 질문이 있습니다.
PS1="`printf "%${COLUMNS}s\n" "${TEXT}"`$PS1"
- 백틱은 뭐하는거야?
- 왜 줄 끝에 또 다른 PS1이 있습니까?
귀하의 의견에 감사드립니다. :)
답변1
그러면 오른쪽 정렬 $TEXT
, 개행 문자, 이전 값 의 순서 로 프롬프트가 생성됩니다 $PS1
.
백틱은 쉘의 것입니다.명령 대체: 쉘은 명령을 실행하고 명령의 출력을 대체합니다. 일반적으로 $(cmd)
구문 대신 구문을 사용하는 것이 좋습니다 `cmd`
.
해당 행은 다음 구문을 사용하여 명령 대체 없이 작성할 수 있습니다 printf -v varname
.
printf -v PS1 '%*s\n%s' "$COLUMNS" "$TEXT" "$PS1"