gpt4 book ai didi

csh - 如何更改我的 tcsh 提示以显示我当前的工作目录?

转载 作者:行者123 更新时间:2023-12-03 17:43:58 26 4
gpt4 key购买 nike

我正在使用 tcsh并且我正在寻找一种响应式工作目录的方式,我至少要在其中显示最后一个文件夹名称而不是获取完整路径。

想象一下我当前的工作目录是:

  [user@hostname/home/us/Desktop/my/projects]

然后我想显示这样的提示:
    [user@hostname projects] 

目前我正在使用 .cshrc文件中的文件我是这样写的:
  alias setprompt 'set prompt="[suman@`hostname` `pwd`:~] $"'
alias setprompt 'set prompt="${LightGreen}[${yellow}suman${Light}${LightPurple}@%m ${LightGreen}:~] ${yellow}$ ${end} "'

我也没有 PS1 变量,也不知道它有什么作用,我想知道 .cshrc 之间的区别文件和 .bashrc文件。

最佳答案

您可以使用:

set prompt = '[%n@%m %c]$ '
%n对于用户名, %m用于主机名直到第一个 . , 和 %c对于最后一个目录部分。有大量这样的替换可用,您可以在 tcsh(1) 中找到它们的列表。 ,为方便起见复制如下。

使用 `pwd`不会工作,因为 cshrc file 在 shelll 启动时只读取一次,而不是在每次目录更改时读取。

I would like to know the difference between .cshrc file and .bashrc file.


cshrc文件由 csh 使用和 tcsh , bashrc文件由 bash 使用.尽管它们的用途相同,但它们是不同的程序(例如 ~/.mozilla/firefox~/.config/chromium )。
%/  The current working directory.
%~ The current working directory, but with one's home direc‐
tory represented by `~' and other users' home directories
represented by `~user' as per Filename substitution.
`~user' substitution happens only if the shell has already
used `~user' in a pathname in the current session.
%c[[0]n], %.[[0]n]
The trailing component of the current working directory, or
n trailing components if a digit n is given. If n begins
with `0', the number of skipped components precede the
trailing component(s) in the format `/<skipped>trailing'.
If the ellipsis shell variable is set, skipped components
are represented by an ellipsis so the whole becomes
`...trailing'. `~' substitution is done as in `%~' above,
but the `~' component is ignored when counting trailing
components.
%C Like %c, but without `~' substitution.
%h, %!, !
The current history event number.
%M The full hostname.
%m The hostname up to the first `.'.
%S (%s)
Start (stop) standout mode.
%B (%b)
Start (stop) boldfacing mode.
%U (%u)
Start (stop) underline mode.
%t, %@
The time of day in 12-hour AM/PM format.
%T Like `%t', but in 24-hour format (but see the ampm shell
variable).
%p The `precise' time of day in 12-hour AM/PM format, with
seconds.
%P Like `%p', but in 24-hour format (but see the ampm shell
variable).
\c c is parsed as in bindkey.
^c c is parsed as in bindkey.
%% A single `%'.
%n The user name.
%N The effective user name.
%j The number of jobs.
%d The weekday in `Day' format.
%D The day in `dd' format.
%w The month in `Mon' format.
%W The month in `mm' format.
%y The year in `yy' format.
%Y The year in `yyyy' format.
%l The shell's tty.
%L Clears from the end of the prompt to end of the display or
the end of the line.
%$ Expands the shell or environment variable name immediately
after the `$'.
%# `>' (or the first character of the promptchars shell vari‐
able) for normal users, `#' (or the second character of
promptchars) for the superuser.
%{string%}
Includes string as a literal escape sequence. It should be
used only to change terminal attributes and should not move
the cursor location. This cannot be the last sequence in
prompt.
%? The return code of the command executed just before the
prompt.
%R In prompt2, the status of the parser. In prompt3, the cor‐
rected string. In history, the history string.

`%B', `%S', `%U' and `%{string%}' are available in only eight-
bit-clean shells; see the version shell variable.

The bold, standout and underline sequences are often used to
distinguish a superuser shell. For example,

> set prompt = "%m [%h] %B[%@]%b [%/] you rang? "
tut [37] [2:54pm] [/usr/accts/sys] you rang? _

If `%t', `%@', `%T', `%p', or `%P' is used, and noding is not
set, then print `DING!' on the change of hour (i.e, `:00' min‐
utes) instead of the actual time.

Set by default to `%# ' in interactive shells.

关于csh - 如何更改我的 tcsh 提示以显示我当前的工作目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33030442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com