I am using tcsh
and I am looking for a way responsive working directory where I at least want to display the last folder name instead of getting full path.
Imagine my current working directory is :
[user@hostname/home/us/Desktop/my/projects]
then I would like to display the prompt like this :
[user@hostname projects]
present I am using the .cshrc
file in file I have written like this:
alias setprompt 'set prompt="[suman@`hostname` `pwd`:~] $"'
alias setprompt 'set prompt="${LightGreen}[${yellow}suman${Light}${LightPurple}@%m ${LightGreen}:~] ${yellow}$ ${end} "'
I don't have PS1 variable also and don't know what it does, and I would like to know the difference between .cshrc
file and .bashrc
file.
Use the pwd command to write to standard output the full path name of your current directory (from the /(root) directory). All directories are separated by a slash (/).
In value of PS1 , \w or \W can be used to include working directory in the prompt. Change the value of PS1 in your $HOME/. bashrc file to change it for every terminal.
By default, bash shows just your current directory, not the entire path. To determine the exact location of your current directory within the file system, go to a shell prompt and type the command pwd.
You can use:
set prompt = '[%n@%m %c]$ '
%n
for the username, %m
for the hostname up to the first .
, and %c
for the last directory part. There are a large number of such substitutions available, you can find a list of them in tcsh(1)
, duplicated below for convenience.
Using `pwd`
won't work, because the cshrc
file is read only once on shelll startup, not on every directory change.
I would like to know the difference between .cshrc file and .bashrc file.
The cshrc
file is used by csh
and tcsh
, the bashrc
file is used by bash
. Although they serve the same purpose, they're different programs (like ~/.mozilla/firefox
and ~/.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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With