질문:
이것이 간단한 일이었으면 좋겠습니다. 현재 스크립트가 디렉토리 등을 변경합니다. 스크립트를 사용하여 줄을 변경할 수 있으면 좋겠습니다.에코현재 디렉터리가 항상 표시됩니다. 생각나는 간단한 예는 (사용된 디렉토리는 임의적이며 실제로 정확하지 않습니다.):
TL;박사;
나는 현재 디렉토리를 알려주는 스크립트 상단에 줄을 원합니다. 그런 다음 나머지 스크립트가 실행되는 동안 디렉터리가 변경되면 항상 현재 디렉터리를 표시하도록 맨 위 줄을 변경하고 싶습니다.
암호:
echo -e "Current Directory $PWD"
echo -en "\e[0K\r Finding folder"
cd /home/accounts
echo -en "\r\033[0K Inside folder"
cd /apps/foo/bar
echo -e "\e[0K\r Welcome to the app, enjoy!"
예상 출력:
초기 실행 시(첫 번째 cd 명령을 실행하기 전)
Line 1: Current Directory: /var/www/project
Line 2: Finding Folder
첫 번째 cd 명령을 실행한 후
Line 1: Current Directory: /home/accounts
Line 2: Inside Folder
두 번째 cd 명령을 실행한 후
Line 1: Current Directory: /apps/foo/bar
Line 2: Welcome to the app, enjoy!
답변1
프롬프트를 설정하려면 PS1
not 변수를 사용하십시오 echo
. 당신은 또한 그것을 bash
사용할 수 있습니다 PROMPT_COMMAND
.
EG 사용 프롬프트 코드
PS1='# \w '
또는 명령을 사용하십시오
PS1="$(pwd)"
또는 변수
PS1="$PWD"
답변2
스크립트에서 별칭을 사용하여 다음을 수행할 수 있습니다.
alias echo='printf "Current Directory: $PWD\n" && echo'
이 줄을 스크립트에 추가하면 echo
스크립트 외부에서는 변경되지 않습니다. echo의 일반적인 동작을 얻으려면 슬래시 이스케이프를 사용하면 됩니다.
\echo This will not produce the Current Directory line