[CentOS] /etc/bashrc help!
Marian Marinov
mm at yuhu.biz
Tue Apr 19 21:33:08 UTC 2011
On Wednesday 20 April 2011 00:26:04 Marian Marinov wrote:
> On Tuesday 19 April 2011 20:18:38 Roland Roland wrote:
> > Dear all,
> >
> > i've appended the below to /etc/bashrc it works like a charm with ssh
> > connections though SFTP sessions fail since the below is being sent to
> > the intiator.
> > any way of limiting the below to none sftp sessions? or any other idea
> > for it to work?
> >
> >
> > # If id command returns zero, you’ve root access.
> > if [ $(id -u) -eq 0 ];
> > then # you are root, set red colour prompt
> > echo "###############################################"
> > echo "### You are now working as ROOT. ###"
> > echo "### Pay attention to what you type. ###"
> > echo "###############################################"
> > PS1="\\[$(tput setaf 1)\\]\\u@\\h:\\w #\\[$(tput sgr0)\\]"
> > else # normal
> > echo
> > echo " ###########################################################"
> > echo "Welcome $(whoami), here's something to start your day with:"
> > echo
> > echo `sh /etc/lines.sh /etc/quotes.txt`
> > echo " ############################################################"
> > echo
> > PS1="[\\u@\\h:\\w] $"
> > fi
>
> Rolan, you have two choices:
>
> 1. Print the whole content on STDERR so you don't disturb the sftp
>
> 2. if [ "$-" != 'hBc' ]; then echo 'your content here'; fi
>
> If you go to the second option, the idea there is that $- is set to hBc
> every time you use the shell from SFTP (non-interactive mode). So you echo
> all the things you like only if it is an interactive shell.
>
> Marian
Just to make things clear, this is from the bash manual:
An interactive shell is one started without non-option arguments and
without the -c option whose standard input and error are both connected to
terminals (as determined by isatty(3)), or one started with the -i option. PS1
is set and $- includes i if bash is interactive, allowing a shell script or a
startup file to test this state.
You can also test if you want with these two tests:
if [[ "$-" =~ 'i' ]]; then echo interactive; fi
if ( echo $- |grep i > /dev/null ); then echo interactive; fi
Marian
--
Best regards,
Marian Marinov
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.centos.org/pipermail/centos/attachments/20110420/5c9f2f92/attachment.sig>
More information about the CentOS
mailing list