Ignore "a line" within /etc/profile only when su'ing


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Ignore "a line" within /etc/profile only when su'ing
# 1  
Old 01-30-2009
Error Ignore "a line" within /etc/profile only when su'ing

Is there a way to ignore a command within /etc/profile only when su'ing as any particular user.

For instance....

As root, if I run "su - oracle -c program" it is running a string in my profile called "echo "^[]2;$(hostname)-(ABC) @ $(who am i)^G".

I don't want the above string to run if I am su'ing, because it is causing a title to be placed in an email notification which is something I'd like to eliminate if I can.

Simply running su - oracle -c "program" from command line doesn't show the title page in the output. The title page is only seen when "su - oracle -c" is run within a script.

I am running a generic script to test and try to eliminate the title from showing up in email notifications. Below is the test script....

#!/bin/ksh
su - oracle -c "ifconfig -a" >> /var/adm/log/temp.log
cat /var/adm/log/temp.log | mailx -s "processes" lwif_mail
rm /var/adm/log/temp.log

If the above commands are run within a script it generates the "title" within the notification since /etc/profile is called when su - is used. Below is an example of this output. The first line is not desired, (I marked it with an underline).

]2;hostname-(PAN) @ lwif pts/1 Jan 29 16:47 (lwif.us.com)
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
zone lwif1
inet 127.0.0.1 netmask ff000000
ce0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2

If each line is run individually from command line it "does not" produce the "title" page with the email notification and if just running "su oracle" the title is not displayed, but this is not an option.

Please let me know if there is a workaround for this.

Thanks,
# 2  
Old 01-30-2009
A workaround to eliminate the line assuming it's always on the first line. Replace this line:

Code:
cat /var/adm/log/temp.log | mailx -s "processes" lwif_mail

with:

Code:
awk 'NR==1{next}1' /var/adm/log/temp.log | mailx -s "processes" lwif_mail

Regards
# 3  
Old 01-30-2009
Are there any other Variables you want to use inside the users initialization files? Else you could just do
su oracle -c program
instead of
su - oracle -c program

The difference is in the 1st case you run the program with no initialization.
Peace,
G
# 4  
Old 01-30-2009
Test $LOGNAME so see if you are "oracle" or not.
# 5  
Old 01-30-2009
I tried using "awk 'NR==1{next}1'" but I get this error -
awk: syntax error near line 1
awk: bailing out near line 1

I would rather not edit the scripts - becasue there are many. I want to be able to place some logic in the /etc/profile to determine is the user is changed by using su then ignore the command.
# 6  
Old 01-30-2009
Quote:
Originally Posted by just4fundoit
Are there any other Variables you want to use inside the users initialization files? Else you could just do
su oracle -c program
instead of
su - oracle -c program

The difference is in the 1st case you run the program with no initialization.
Peace,
G
I need to use su - oracle this is a requirment and I can't change it.
# 7  
Old 01-30-2009
Quote:
Originally Posted by methyl
Test $LOGNAME so see if you are "oracle" or not.
What happens when oracle logs in from putty? I still need the "title" code to run for all users but the code can't be run when su'ng as oracle or any other user.

Bypassing and specific command in /etc/profile when su'ng is key.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Permission error when "touch"ing file with different user

Hi, There are 2 users (T886072 & T864764) that need to be provided full (rwx) access to a directory. I made the changes to the directory permissions using chmod and setfacl : root@digidb2:# chmod 700 /u02/ftpfiles/MFRS16/discount_rates/ root@digidb2:# setfacl -s... (3 Replies)
Discussion started by: anaigini45
3 Replies

2. Shell Programming and Scripting

Failure: if grep "$Var" "$line" inside while read line loop

Hi everybody, I am new at Unix/Bourne shell scripting and with my youngest experiences, I will not become very old with it :o My code: #!/bin/sh set -e set -u export IFS= optl="Optl" LOCSTORCLI="/opt/lsi/storcli/storcli" ($LOCSTORCLI /c0 /vall show | grep RAID | cut -d " "... (5 Replies)
Discussion started by: Subsonic66
5 Replies

3. Shell Programming and Scripting

Delete all log files older than 10 day and whose first string of the first line is "MSH" or "<?xml"

Dear Ladies & Gents, I have a requirement to delete all the log files in /var/log/test directory that are older than 10 days and their first line begin with "MSH" or "<?xml" or "FHS". I've put together the following BASH script, but it's erroring out: for filename in $(find /var/log/test... (2 Replies)
Discussion started by: Hiroshi
2 Replies

4. Shell Programming and Scripting

Move a line containg "char" above line containing "xchar"

Okay, so I have a rather large text file and will have to process many more and this will save me hours of work. I'm not very good at scripting, so bear with me please. Working on Linux RHEL I've been able to filter and edit and clean up using sed, but I have a problem with moving lines. ... (9 Replies)
Discussion started by: rex007can
9 Replies

5. Shell Programming and Scripting

Find lines with "A" then change "E" to "X" same line

I have a bunch of random character lines like ABCEDFG. I want to find all lines with "A" and then change any "E" to "X" in the same line. ALL lines with "A" will have an "X" somewhere in it. I have tried sed awk and vi editor. I get close, not quite there. I know someone has already solved this... (10 Replies)
Discussion started by: nightwatchrenba
10 Replies

6. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

7. Shell Programming and Scripting

How to remove "New line characters" and "spaces" at a time

Dear friends, following is the output of a script from which I want to remove spaces and new-line characters. Example:- Line1 abcdefghijklmnopqrstuvwxyz Line2 mnopqrstuvwxyzabcdefghijkl Line3 opqrstuvwxyzabcdefdefg Here in above example, at every starting line there is a “tab” &... (4 Replies)
Discussion started by: anushree.a
4 Replies

8. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

9. UNIX for Dummies Questions & Answers

Where can I read about the difference between "..profile" and ".profile"

Hi I know from reading O Riley's Classic Shell Scripting' that the .profile file is " the shells configuration file" but I am unable to find a reference to what "..profile" means. I have searched on the net, Sams Teach Yourself Unix, Unix Visual Quickstart Guide and Linux in a Nutshell. I have... (2 Replies)
Discussion started by: zorrokan
2 Replies

10. UNIX for Dummies Questions & Answers

"vi"-ing a constantly updated file

Hi, A bit of a dumb question here. Sorry folks. Suppose I have this file which is being updated at irregular intervals (a few seconds, a few minutes, who knows) by a background process. I 'vi' this file with the intention of editing it, so it opens up a temp copy as the usual... (8 Replies)
Discussion started by: Percy
8 Replies
Login or Register to Ask a Question