cd = 'cd !* ;set prompt="! $host `dirs` % "'
이 별칭은 일반적으로 사용하는 Red Hat Enterprise Linux 서버에 있으며, 어떤 용도인지는 알 수 없습니다. 어떤 아이디어?Red Hat Linux에서이 별칭은 무엇을합니까?
cd = 'cd !* ;set prompt="! $host `dirs` % "'
이 별칭은 일반적으로 사용하는 Red Hat Enterprise Linux 서버에 있으며, 어떤 용도인지는 알 수 없습니다. 어떤 아이디어?Red Hat Linux에서이 별칭은 무엇을합니까?
나는 디렉토리를 변경하고 프롬프트에서 이전 디렉토리를 표시하기위한 것이라고 생각합니다. !*
은 첫 번째 단어가없는 이전 명령을 의미하는 bash 히스토리 확장입니다. 예 : 이전 명령이 cd project
이면 !*
은 project
입니다. 기록 확장 섹션에서 man bash
, 더 구체적으로는 here을 참조하십시오.
dirs
은 단순히 디렉토리 스택을 표시하며 bash 내장입니다 (자세한 내용은 링크 참조).
그러나, 표준 bash는 대신 set prompt=
의 export PS1=...
를 사용하는 것, 그래서 아마도 별칭의 저자는, 예를 들어 csh
보다는 bash
에 사용되는 의미 here을 참조하십시오. 히스토리 확장 !*
은 동일한 의미론을 갖는다. tcsh
에 대해서는 here을 참조하십시오.
정상적인 cd 명령과 다르게 실행되는 것 같지 않습니다. 적어도 알 수있는 한은 말입니다. – user2602925
RHEL 호스트에 액세스 할 수 없지만 표준 bash에서는'set prompt = '대신'export PS1 = ...'을 사용합니다. 어쩌면 당신이 변화를 보지 못하는 이유 일 수 있습니다. – dimid
별칭의 작성자는 'bash'대신 'csh'에서 사용되는 것을 의미한다고 생각합니다. [here] (http://superuser.com/questions/399047/customizing-csh-prompt)를 참조하십시오. – dimid
csh 앨리어싱에서 !*
은 명령이받은 입력입니다.
alias + emacs \!* &
이고 실행중인 사람은 + somefile
입니다. 이맥스를 사용하여 somefile을 열고 배경으로 옮깁니다.
당신의 줄에 - 당신이 무엇을 줄까 (! *) 디렉토리를 변경하고 호스트 이름, 경로 (pwd
) 및 %
내 별칭 행의 \
에주의하십시오. 별칭의 특수 문자를 이스케이프 처리하고주의해야합니다. this
내게 배쉬처럼 보이지 않습니다. –
cd 명령이 bash 쉘 내에서 작동하지 않습니까? – user2602925
예, Bash *는 내장 된'cd'를 가지고 있지만 여기에 공백이 있으며 배쉬에서 사용하는 것과는 다른 방식으로'set'을 사용합니다. –