That makes sense. I didn't see how my prompt would
be effected other than by changing dirs, but you never
know...
Jared
"Curiel, David" <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]
08/26/2002 01:03 PM
Please respond to ORACLE-L
To: Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]>
cc:
Subject: RE: Unix question: how to display SID and path in prompt
Jared Writes:
>> Also be aware that when using backticks in your PS1 variable, you are
>> influencing $? as a result.
>I don't find that to be true with pdksh - PD KSH v5.2.14 99/07/13.2
----
That would be because in your example, PS1 is only being affected when you
actually do a 'cd'
In my case, (and I think that of the original poster), PS1 is being
specified in the main body of my bash/ksh rc file, in which case it is
evaluated every time you do any/every command.
Your example is certainly more efficient, in that your the PATH
information
is only updated when your current directory is likely to have changed, but
I
actually echo every command's $? onto my prompt. i.e my prompt looks like:
RC(1) azimuth:.../last_2/path_components$
Actually, I had to create a function to do this, so that $? was properly
returned.
function _cd {
typeset saverc=$?
typeset _path=`echo $PWD | sed
'/\/.*\/.*\//{s%.*/\(.*/.*\)%.../\1%;}' `
echo "RC($saverc) $HOST:$_path\$ "
return $saverc
}
PS1='`_cd`'
Otherwise if you are simply setting PS1 with backticks in the main() of
your
rc file, then your $? is hosed.
At least as far as I've experienced....
Thanks
David
-----Original Message-----
Sent: Monday, August 26, 2002 12:58 PM
To: [EMAIL PROTECTED]
Cc: Curiel, David
> Also be aware that when using backticks in your PS1 variable, you are
> influencing $? as a result.
I don't find that to be true with pdksh - PD KSH v5.2.14 99/07/13.2
function go {
\cd $1
typeset -Z2 _h; typeset -Z2 _m # 2 digits, zero padded
_hh="(SECONDS/3600)%24" _mm="(SECONDS/60)%60" # hours, minutes
_time='${_x[(_m=_mm)==(_h=_hh)]}$_h:$_m'
typeset bold=$(tput bold)
typeset shy=$(tput rmso)
PS1="[ `pwd` ]"
PS1=$PS1`echo
"\n\n${bold}$_time-${UMACHINE}:${ORACLE_SID}${shy}:${LOGNAME}-$TTY > "`
# need to be able to turn xtitle off when using 'go'
if [ "$TERM" = "xterm2" -o "$TERM" = "xterm" ] ;then
# don't do xtitle if NO_CD_TITLE is set or in SCREEN
#[ "$NO_CD_TITLE" -o "$WINDOW" -ge 1 ] || xtitle ${MACHINE}:${PWD}
:
fi
}
alias cd='go '
--------------------
10:2-rsysdevdb:dv01:jkstill-3 > rm this_file_does_not_exist
rm: cannot remove `this_file_does_not_exist': No such file or directory
[ /home/jkstill/tmp ]
10:2-rsysdevdb:dv01:jkstill-3 > echo $?
1
[ /home/jkstill/tmp ]
10:2-rsysdevdb:dv01:jkstill-3 > echo $?
0
[ /home/jkstill/tmp ]
10:2-rsysdevdb:dv01:jkstill-3 >
Jared
"Curiel, David" <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]
08/26/2002 08:23 AM
Please respond to ORACLE-L
To: Multiple recipients of list ORACLE-L
<[EMAIL PROTECTED]>
cc:
Subject: RE: Unix question: how to display SID and path in
prompt
Also be aware that when using backticks in your PS1 variable, you are
influencing $? as a result.
What happens, is that when you run a command (i.e. "rm
<some_file_that_doesnt_exist>") and then say "echo $?", you are getting
the
return code ($?) of your PS1 execution (which is likely to always be 0) -
NOT the $? of the "rm" command.
David Curiel
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Curiel, David
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author:
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).