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 Thanks, --Roland
I think "bash interactive shell" is what you want to search for. Have a look at item 6.3.2 at <http://durak.org/sean/pubs/software/bash/bashref_25.html> (picked up arbitrarily from the search results). I *think* scp uses the shell non-interactively, but test to make sure. Either way, you should have that in bashrc in case there are other non-interactive shells in use (and there usually are). Devin
I think you can add: [ -z "$PS1" ] && return before your code. PS1 should be null for sftp connections. Mark Snyder Highland Solutions ----- Original Message ----- From: "Roland Roland" <R_O_L_A_N_D at hotmail.com> To: "CentOS mailing list" <centos at centos.org> Sent: Tuesday, April 19, 2011 12:18:38 PM Subject: [CentOS] /etc/bashrc help! 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 Thanks, --Roland _______________________________________________ CentOS mailing list CentOS at centos.org http://lists.centos.org/mailman/listinfo/centos
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 -------------- 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/3d052084/attachment-0005.sig>
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?I have the following in a bashrc for this same reason, it works fine: # print a fortune in new interactive terminals # the test for $PS1 (value of the prompt) makes sftp work if [ -n "$PS1" ] ; then fortune ; echo fi