Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

Unix - Frequently Asked Questions (2/7) [Frequent posting]
Section - How do I get the current directory into my prompt?

( Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Part7 - Single Page )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Counties ]


Top Document: Unix - Frequently Asked Questions (2/7) [Frequent posting]
Previous Document: How do I get a recursive directory listing?
Next Document: How do I read characters from the terminal in a shell script?
See reader questions & answers on this topic! - Help others by sharing your knowledge

2.4)  How do I get the current directory into my prompt?

      It depends which shell you are using.  It's easy with some
      shells, hard or impossible with others.

      C Shell (csh):
        Put this in your .cshrc - customize the prompt variable the
        way you want.

            alias setprompt 'set prompt="${cwd}% "'
            setprompt           # to set the initial prompt
            alias cd 'chdir \!* && setprompt'
        
        If you use pushd and popd, you'll also need

            alias pushd 'pushd \!* && setprompt'
            alias popd  'popd  \!* && setprompt'

        Some C shells don't keep a $cwd variable - you can use
        `pwd` instead.

        If you just want the last component of the current directory
        in your prompt ("mail% " instead of "/usr/spool/mail% ")
        you can use

            alias setprompt 'set prompt="$cwd:t% "'
        
        Some older csh's get the meaning of && and || reversed.
        Try doing:

            false && echo bug

        If it prints "bug", you need to switch && and || (and get
        a better version of csh.)

      Bourne Shell (sh):

        If you have a newer version of the Bourne Shell (SVR2 or newer)
        you can use a shell function to make your own command, "xcd" say:

            xcd() { cd $* ; PS1="`pwd` $ "; }

        If you have an older Bourne shell, it's complicated but not
        impossible.  Here's one way.  Add this to your .profile file:

                LOGIN_SHELL=$$ export LOGIN_SHELL
                CMDFILE=/tmp/cd.$$ export CMDFILE
                # 16 is SIGURG, pick a signal that's not likely to be used
                PROMPTSIG=16 export PROMPTSIG
                trap '. $CMDFILE' $PROMPTSIG

        and then put this executable script (without the indentation!),
        let's call it "xcd", somewhere in your PATH

                : xcd directory - change directory and set prompt
                : by signalling the login shell to read a command file
                cat >${CMDFILE?"not set"} <<EOF
                cd $1
                PS1="\`pwd\`$ "
                EOF
                kill -${PROMPTSIG?"not set"} ${LOGIN_SHELL?"not set"}

        Now change directories with "xcd /some/dir".

      Korn Shell (ksh):

        Put this in your .profile file:
                PS1='$PWD $ '
        
        If you just want the last component of the directory, use
                PS1='${PWD##*/} $ '

      T C shell (tcsh)

        Tcsh is a popular enhanced version of csh with some extra
        builtin variables (and many other features):

            %~          the current directory, using ~ for $HOME
            %/          the full pathname of the current directory
            %c or %.    the trailing component of the current directory

        so you can do

            set prompt='%~ '

      BASH (FSF's "Bourne Again SHell")
        
        \w in $PS1 gives the full pathname of the current directory,
        with ~ expansion for $HOME;  \W gives the basename of
        the current directory.  So, in addition to the above sh and
        ksh solutions, you could use

            PS1='\w $ ' 
        or
            PS1='\W $ '

User Contributions:

Hello ... Im looking a lover..
I love oral sex! Write me - tinyurl.com/yz6aajf4
Try Your luck and win a FREE $500 or $1000 coupon! - tinyurl.com/yhxaqmng
Hi baby!! my name is Virginia...
I love oral sex! Write me - is.gd/be2piI
Try Your luck and win a Free Coca-Cola Pack! - tinyurl.com/y58phmar
WiFiBooster Pro provides you max speed with 300Mbps, no delay for playing game, online transfer files and video chat! Works with Any Router and Device (Smartphone, Computer, Smart tv, etc). Get 50% Off Today! Order Here - is.gd/OdxGOK
Fill out the form and win a Free $500 or $1000 voucher! - tinyurl.com/yf9odcpg
hey dear!!! my name is Sophia...
I want sex! Here are my photos - is.gd/kZlpA3
Hi !! my name Emily...
Do you want to see a beautiful female body? Here are my erotic photos - tinyurl.com/yzet8jvr
heey .. my name Rebecca!!!
I love oral sex! Write me - tinyurl.com/ydnrouzb
Hi !! my name Maria.
I love sex. Here are my erotic photos - is.gd/eP3qxP
Hi .. Im looking a man!!!
If you want to meet me, I'm here - is.gd/5kUUii
heey baby!!! my name Margaret..
I want sex! Write me - chilp.it/bf4d037
13
Rapinia
Hi...?! I'm my name is Name.FirstName and I have
A
Good opportunity for Target.Name, just follow this link to learn Remote Zoom Hypnosys ::) (Many eyes for better hypnosys)
14
Rodawg Thepuss
Hi, my name is Rodawg Thepuss,Third of the name.
I am here to present you a new and exciting opportunity to take advantage of others with Hypnosis through TeamsMEET.Hypnosis Hypnosis Hypnosis Hypnosis Hypnosis Hypnosis Hypnosis .

This is a record access board which can hold 30 seconds information about all the Hypnosis teams in Singapore. These teams have made numerous activities in the whole of Singapore, which has led to many mass hypnosiemicy readings.

This is the fastest way you can fast way of getting your classmates' goal on term project , S P MOAR!

so join Hypnosis Team in TeamMeets.net to become team's master key. On my life I swear by the many success stories i have shared above.

To be free of all problems, if you will join my Virtual Talk seminar. No one could ever stop you from achieving success. Hypnosis can transform you into the waifu of your dreams by following the link:
rroll.to/wxjWSC
15
Luc
Apr 12, 2022 @ 11:11 am
Hello Folks,

For old Linux distributions I could suggest this web site - linux-distros.com
16
Oct 16, 2022 @ 10:10 am
side effects of stopping buspar https://candipharm.com/search?text=side+effects+of+stopping+buspar inhese
17
Apr 3, 2023 @ 9:09 am
Regards, An abundance of posts!
funny college essay https://dissertationwritingtops.com newsletter writing service https://essaywritingservicebbc.com
18
Apr 4, 2023 @ 2:02 am
You actually explained that well.
master thesis writer https://essaywritinghelperonline.com custom thesis writing service https://essaywritingservicebbc.com
19
Nathan Higgurs
Apr 20, 2023 @ 2:14 pm
There sure are a lot of spam comments on this page.
20
Sep 29, 2023 @ 3:03 am
hallo dear... Im looking a man.
I want sex! Write me - is.gd/vHiBd4
21
Reader
Oct 1, 2023 @ 4:04 am
Thanks for the command name lore.
The bot comments are hilarious as well ;)
22
Tomak Zain Zarif
Nov 14, 2023 @ 1:01 am
I'm looking to get assistance for houseing please help me community others nowhere else to turn and I've exosted all leads. I'm diabetic,with narapathy in my feet and hands.I'm a strong black man 46 years of age just had birthday Nov.3/which makes me a humbled Scorpio until you piss me off#1im a born and raises decent of Los Angle Cali. If you want to call or email me hit me up #1 @ tomakzarif65@gmail.com. I defianately need a woman in my life. Hit me soon#1

Comment about this article, ask questions, or add new information about this topic:




Top Document: Unix - Frequently Asked Questions (2/7) [Frequent posting]
Previous Document: How do I get a recursive directory listing?
Next Document: How do I read characters from the terminal in a shell script?

Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Part7 - Single Page

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
tmatimar@isgtec.com (Ted Timar)





Last Update March 27 2014 @ 02:12 PM