zsh에서 명령 프롬프트에 dd/mm/yy를 설정하는 방법은 무엇입니까?

zsh에서 명령 프롬프트에 dd/mm/yy를 설정하는 방법은 무엇입니까?

저는 oh-my-zsh가 아닌 zsh를 사용하고 있으며 사용자 정의 명령 프롬프트를 원합니다.

현재는 호스트 이름과 %만 명령 프롬프트로 제공합니다.

[code]
think-debian% hostname
think-debian
[/code]

내가 하고 싶은 일은——

[username/userid@hostname] - [pwd]-[ DD/MM/YY local time in hh:mm:ss] $

이 문제를 어떻게 처리해야 합니까?

나는 man zshmisc에서 단서를 봤어

특히 프롬프트 시퀀스의 확장에서

프롬프트 시퀀스 확장 프롬프트 시퀀스는 특별한 형태의 확장을 거칩니다. 이러한 유형의 확장은 내장된 인쇄 기능의 -P 옵션을 사용하여도 가능합니다.

   If the PROMPT_SUBST option is set, the prompt string is first subjected to parameter expansion, command substitution and arithmetic 

확장. zshexpn(1)을 참조하십시오.

   Certain escape sequences may be recognised in the prompt string.

   If  the  PROMPT_BANG  option is set, a `!' in the prompt is replaced by the current history event number.  A literal `!' may then

"!!"로 표현됩니다.

   If the PROMPT_PERCENT option is set, certain escape sequences that start with `%' are expanded.  Many escapes  are  followed  by  a 

단일 문자이지만 그 중 일부는 "%"와 시퀀스의 다음 문자 사이에 나타나야 하는 선택적 정수 인수를 사용합니다. 조건부 확장을 제공하기 위해 더 복잡한 이스케이프 시퀀스를 사용할 수 있습니다.

단순 프롬프트 이스케이프 문자 %% `%'.

   %)     A `)'.

로그인 정보 %l 사용자 로그인 라인(tty), /dev/tty'가 없으며 /dev/' prefix. If the name starts with접두사가 제거되었습니다.

   %M     The full machine hostname.

%m 첫 번째 %'까지의 .'. An integer may follow the 호스트 이름 , 필요한 호스트 이름 구성 요소 수를 지정합니다. 음의 정수인 경우 호스트 이름의 마지막 부분이 표시됩니다.

   %n     $USERNAME.

   %y     The line (tty) the user is logged in on, without `/dev/' prefix.  This does not treat `/dev/tty' names specially.

그렇지 않은 경우 쉘 상태는 %# A #' if the shell is running with privileges, a%'입니다. 이러한 목적을 위해 %(!.#.%%)'. The definition of"권한"에 해당하는 것은 유효 사용자 ID가 0이거나 POSIX.1e 기능이 지원되는 경우 유효하거나 상속 가능한 기능 벡터에 제안된 하나 이상의 기능입니다.

   %?     The return status of the last command executed just before the prompt.

   %_     The  status  of  the parser, i.e. the shell constructs (like `if' and `for') that have been started on the command line. If

정수가 주어지면 많은 문자열이 인쇄됩니다. 0 또는 음수 또는 정수가 없으면 가능한 한 많은 값을 인쇄한다는 의미입니다. 이는 연속 라인을 위해 PS2를 프롬프트하고 XTRACE 옵션을 사용하여 디버깅을 위해 PS4를 프롬프트할 때 가장 유용합니다. 후자의 경우 비대화식으로도 작동합니다.

%^ 역방향 파서의 상태입니다. 문자열의 순서를 제외하면 "%_"와 동일합니다. RPS2에서 일반적으로 사용됩니다.

   %d
   %/     Current working directory.  If an integer follows the `%', it specifies a number of  trailing  components  of  the  current 

표시할 작업 디렉터리는 0이 전체 경로를 의미합니다. 음의 정수는 선행 구성요소를 지정합니다. 즉, %-1d는 첫 번째 구성요소를 지정합니다.

날짜 및 시간 %D yy-mm-dd 형식의 날짜입니다.

   %T     Current time of day, in 24-hour format.

   %t
   %@     Current time of day, in 12-hour, am/pm format.

   %*     Current time of day in 24-hour format, with seconds.

   %w     The date in day-dd format.

   %W     The date in mm/dd/yy format.

여러 가지 방법을 시도했지만 dd/month/yy로는 얻을 수 없습니다.

think-debian%PS1=%n@%m-%/\ %D\ %*\ $

shirish@think-debian-/home/shirish 16-12-19 12:33:27 $ PS1=%n@%m-%/\ %W\ %*\ $

shirish@think-debian-/home/shirish 12/19/16 12:33:55 $

업데이트 - 매우 가깝습니다 -

$PS1=%n@%m-%/\ %D{%d/%m/%y}\ %*\ $
 shirish@think-debian-/home/shirish 19/12/16 17:31:09 $ 

알기를 기대합니다

zsh 버전 5.2 실행

답변1

형식의 날짜/시간 부분에는 DD/MM/YY HH:MM:SS다음을 사용할 수 있습니다.

%D{%d/%m/%y %H:%M:%S}

인용하다

%D{string}: 문자열 형식을 지정하려면 strftime 함수를 사용하세요. ...

관련 정보