저는 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 함수를 사용하세요. ...