私は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)
にあり、便宜上以下に複製されています。
cshrc
ファイルは読み取り専用であるため、_`pwd`
_の使用は機能しません1回シェルの起動時に、すべてのディレクトリ変更ではありません。
.cshrcファイルと.bashrcファイルの違いを知りたいのですが。
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.
_
編集:そのようにタグ付けされているので、質問はbashに関するものだと思っていました。
.cshrc
は、cshまたはtcshの構成ファイルです。wheras.bashrc
は、bashの構成ファイルです。それらが同じような目的を果たしたとしても、bashとcshは単に異なるプログラムであるため、一方の構成が他方で機能するとは限りません。
したがって、あなたがする必要があるのは、このような行を.bashrcに入れることです。
PS1='...\w$ '
どこ \w
は、bashのmanページの「プロンプト」セクションで検索できるように、現在の作業ディレクトリに展開されるマジックコードです。
Cygwinのbashパッケージのデフォルト設定から取得した、より完全な例は、次のようになります。
PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
これは、次のようなプロンプトに展開されます(ただし、色はあります):
user@machine currentdir $