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
|