오른쪽 정렬된 PS1과 PS1은 그 자체와 동일합니까?

오른쪽 정렬된 PS1과 PS1은 그 자체와 동일합니까?

텍스트의 올바른 정렬에 대한 코드를 읽고 몇 가지 질문이 있습니다.

        PS1="`printf "%${COLUMNS}s\n" "${TEXT}"`$PS1"
  1. 백틱은 뭐하는거야?
  2. 왜 줄 끝에 또 다른 PS1이 있습니까?

귀하의 의견에 감사드립니다. :)

답변1

그러면 오른쪽 정렬 $TEXT, 개행 문자, 이전 값 의 순서 로 프롬프트가 생성됩니다 $PS1.

백틱은 쉘의 것입니다.명령 대체: 쉘은 명령을 실행하고 명령의 출력을 대체합니다. 일반적으로 $(cmd)구문 대신 구문을 사용하는 것이 좋습니다 `cmd`.

해당 행은 다음 구문을 사용하여 명령 대체 없이 작성할 수 있습니다 printf -v varname.

printf -v PS1 '%*s\n%s' "$COLUMNS" "$TEXT" "$PS1"

관련 정보