스크립트의 변수에 여러 줄 문자열 할당

스크립트의 변수에 여러 줄 문자열 할당

PS내 파일 .profile에 정의된 변수가 다음 값을 갖기를 원합니다 .

PS1='PWD: ${PWD}
$ '

$PS이런 식으로 터미널에 들어가면 첫 번째 줄에 작업 디렉터리가 표시된 두 줄의 프롬프트 문자열이 표시됩니다. 내 파일 .profile에서 어떻게 정의 하나요?

편집: 중복된 것으로 추정되는 질문은 전혀 동일하지 않습니다. 내 질문은 쉘 스크립트의 변수에 여러 줄 값을 할당하는 것입니다. 다음 Enter도 작동하지 않는 것 같습니다 \n. \제가 작성한 과제는 대화형 측면에서 정말 잘 작동했습니다. 사실 저는 OneNote에 저장하고 셸에 자주 복사/붙여넣기를 합니다. 하지만 내 파일이나 다른 스크립트에 이 단계를 건너뛸 수 있도록 하고 싶습니다 .profile. 그대로 스크립트에 작성하면 작동하지 않습니다. 마지막으로 누군가 PS1을 자동으로 변경하라고 제안하면 괜찮습니다. 그러나 이상적으로는 위의 모든 내용이 변수에 할당되어 를 PS입력할 때 $PS설정 PS1됩니다.

편집 2: 해결책을 찾았습니다. .profile에서:

PS1="PWD: ${PWD}
\$ "

이것은 PS1을 실행할 때만 변경되는데, . .profile 이상한 것은 .profile시작 시 어떻게든 실행되고 있다는 것을 알고 있기 때문입니다. (실행하기 전에 정의된 변수를 에코하려고 시도했는데 변수가 존재합니다. 이후에 실행되는 다른 파일이 자동 으로 설정 .profile될 것 같습니다. 기본 행), 그러나 변경 사항이 적용되는지 여부를 어느 정도 제어하고 싶기 때문에 이것이 제가 원하는 것이라고 생각합니다. 변경 사항을 적용하려면 실행하고 , 그렇지 않으면 아무 작업도 수행하지 않습니다. 혼란을 드려 죄송합니다. 곧 설명을 업데이트하려고 노력 중입니다!.profilePS1. .profile

답변1

지정된 값을 사용하여 .profile 파일에 PS 변수를 정의하려면 다음 줄을 추가하기만 하면 됩니다.

export PS1="PWD: \${PWD}\n\$ "

관련 정보