터미널에서 $ 앞에 오는 텍스트를 수정하십시오.


13

터미널에서 나는 내가 어느 경로에 있는지 항상 볼 수 있습니다 :

macbook-romeo:School romeovs$ echo "example command"

나는 매우 유용하다고 생각합니다. 그러나 여기에도 불필요한 것들이 많이 있습니다. macbook-romeo항상 Macbook (duh)에 있기 때문에 유용하지 않습니다. 그런 다음 다시 romeovs매우 유용합니다 (이것은 내 사용자 이름입니다).

여기에 표시된 것을 편집하기를 원하십니까? 예 :

22:50 - School - Romeo$ echo "example"

22:50현재 시간은 어디 입니까? (이것은 물론 예일뿐입니다. 시간이 필요하지 않습니다. 텍스트를 좀 더 최소한으로 사용하는 것 같습니다).

답변:


11

OSX Daily 기사에는 수행 방법에 대한 자세한 지침이 있습니다. 간단히 말해서 ~/.bash_profile파일을 수정하고 PS1 변수 를 수정해야 합니다.

다음은 표시 할 수있는 가능한 변수 목록입니다.

  • \ d – 현재 날짜
  • \ t – 현재 시간
  • \ h – 호스트 이름
  • # – 명령 번호
  • \ u – 사용자 이름
  • \ W – 현재 작업 디렉토리 (예 : Desktop /)
  • \ w – 현재 작업 디렉토리, 전체 경로 (예 : / Users / Admin / Desktop)

11

홈 디렉토리에있는 .bashrc 파일을 수정해야합니다 .

터미널을 열고 다음을 수행하십시오.

  • cd ~
  • touch .bashrc
  • open .bashrc

.bashrc 파일의 끝에 다음 줄을 추가하십시오

내보내기 PS1 = '\ t-\ W-\ u \ $'

  • 파일을 저장하고 편집기를 닫습니다
  • 터미널로 돌아가서 다음 명령을 입력하십시오.

    소스 .bashrc

팔! 이제 원하는 프롬프트가 나타납니다! (원하는 예가 주어진 예라면)


내가 한 때 나는 다음과 같은 가지고 MBP-15:~ Daniel$ source .bashrc -bash: export: : 유효한 식별자 -bash : 수출 '=\t - \W - \u$ ': not a valid identifier MBP-15:~ Daniel$
다니엘 콤프 턴

@DanielCompton 이것을 지적 해 주셔서 감사합니다.이 기능이 작동하도록 답변을 업데이트했습니다. :)
macaco

4

이것은 쉘 변수 $ PS1에 의해 제어됩니다

사용하는 쉘에 따라 .login 또는 .profile 스크립트를 사용하여이 변수를 원하는대로 임시 또는 영구적으로 설정할 수 있습니다.

예를 들어 다음 출력을 살펴보십시오.

Last login: Fri Oct 21 21:59:28 on ttys000

Dans-MacBook-Air:~ stuffe$ echo $PS1

\h:\W \u\$

Dans-MacBook-Air:~ stuffe$ PS1="Hello World $"

Hello World $PS1=`date`

Fri 21 Oct 2011 22:03:23 BSTsleep 60

Fri 21 Oct 2011 22:03:24 BSTPS1="`date +%H:%M` $"

22:04 $PS1="\h:\W \u\$"

Dans-MacBook-Air:~ stuffe$

가능성은 끝이 없습니다. PS2로도 할 수있는 일이 있지만 루트 인 경우에만 효과가 있다고 생각합니다. 세부 사항이 흐릿하고 내 유닉스가 오래 전이며 Mac OS X가 아닌 Solaris를 기반으로하지만 기본 사항은 동일합니다.

추가 정보 : 다른 답변에서 제안했듯이 \ h 및 \ W 등의 내장 플래그가 있지만 "back ticks"(재미 한 작은 따옴표)를 사용하여 거의 모든 명령의 출력을 사용할 수도 있습니다 위의 내 날짜 예제에서 사용). 백틱 내부의 명령이 실행되고 출력이 대체되므로 플래그가 내장되어 있지 않더라도 어리석은 것, 생각할 수있는 모든 것까지 포함 할 수 있습니다. 마지막 입력 시간을 오류 로그 파일에 포함하고 싶습니까? 다음과 같은 것을 사용하십시오 :

PS1="`tail -1 $LOGFILE | awk '{print $1}'` $ "

($ LOGFILE이 참조하는 파일의 마지막 행을 읽고 기본 필드 구분 기호를 가정하여 첫 번째 열을 인쇄하십시오) 등. 실행할 수 있으면 포함시킬 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.