Re: manipulating PS1 in sh



Trying to set PS1 to reflect the current value of a user environment
variable, when running in sh.

Most of my systems I am running in ksh, and my PS is set as follows:

export PS1=`hostname`'.''$ORACLE_SID> '

so that my prompt always shows the current value of $ORACLE_SID. But
it appears that this syntax doesn't yeild the same results with sh.
There, instead of returning the value of $ORACLE_SID, it simply returns
the literal "$ORACLE_SID".
[...]

$ PS1=`hostname`'.''$ORACLE_SID> '
xxx.ora10gr2> sh
xxx.$ORACLE_SID> PS1="`hostname`.$ORACLE_SID>"
xxx.ora10gr2>
[...]
Which returns the LITERAL "$ORACLE_SID". I need the VALUE of the
ORACLE_SID variable, like this:

$> ORACLE_SID=db01
$> echo $ORACLE_SID
$> db01
$> PS1= "`hostname`'.'?????'>'
db01>
db01> ORACLE_SID=db02
db02> echo $ORACLE_SID
db02> db02


For sh you could define a function and use it to set the PS1:

setorasid() {
ORACLE_SID="$1"
PS1="$ORACLE_SID>"
export ORACLE_SID PS1
}

$ setorasid db01
db01>setorasid db02
db02>


Regards
Dimitre


.



Relevant Pages