Sponsored Content
Top Forums Shell Programming and Scripting Su and run single line command Post 302900002 by ysrini on Friday 2nd of May 2014 06:18:23 PM
Old 05-02-2014
Su and run single line command

myenv.sh script sets LOG_DIR variable.
I can run the script and echo the variable in a single line as:

Code:
# First set LOG_DIR to some dummy 'NONE' value
[ysrini@linuxapp01a ~]$ export LOG_DIR="NONE"
[ysrini@linuxapp01a ~]$ echo ${LOG_DIR}
NONE

[ysrini@linuxapp01a ~]$ cat /tmp/bin/myenv.sh
export LOG_DIR="/tmp/log"

#The below command doesn't show the value from myenv.sh
[ysrini@linuxapp01a ~]$ /tmp/bin/myenv.sh; echo ${LOG_DIR}
NONE

# using dot and space works
[ysrini@linuxapp01a ~]$ . /tmp/bin/myenv.sh; echo ${LOG_DIR}
/tmp/log

Now I want to run the above command as another user, let's say the other user is 'ysrini' itself

Code:
#First set LOG_DIR to some dummy 'NONE' value
[ysrini@linuxapp01a ~]$ export LOG_DIR="NONE"
[ysrini@linuxapp01a ~]$ echo ${LOG_DIR}
NONE

[ysrini@linuxapp01a ~]$ su - ysrini -c ". /tmp/bin/myenv.sh; echo ${LOG_DIR}"
Password: 
NONE

Why is the command ". /tmp/bin/myenv.sh; echo ${LOG_DIR}" output /tmp/log without 'su' and NONE with 'su'?


Thanks,
-srinivas y.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

single line command

i need to search for a single pattern in three different logs....what would be the best one line script???? (4 Replies)
Discussion started by: roshanjain2
4 Replies

2. UNIX for Dummies Questions & Answers

run command Unix on a single line

Hi everybody.. I need to enter in bash mode and then run a command and this just in a single command line. I tried : "bash ^M| somecommand" but nothing.. How do I do to simulate the return button just right after the bash command ? Thanks.. (8 Replies)
Discussion started by: Riddick61
8 Replies

3. UNIX for Dummies Questions & Answers

How to run multiple command in single command?

Dear Unix Guru, I have several directories as below /home/user/ dir1 dir2 dir3 Each directory has different size. I want to print each directory size (Solaris command du -hs .) Can you please guide me how to achieve this? Thanks Bala (2 Replies)
Discussion started by: baluchen
2 Replies

4. Shell Programming and Scripting

a few single line command

i m trying to find the answers of a past year exam questions , i m sure it ll be very easy for u guys , this is not a hw assignment or somth. i just wanna be sure of right answers . write a single instruction to perform each of the following tasks: (u r allowed to use c shell, and u can use... (2 Replies)
Discussion started by: brhn
2 Replies

5. Solaris

Single maintence mode cannot run any command on M4000

Hii All I was building two M4000 servers and one was successfully installed. Other one /usr has been unmounted. my putty session got disconnected and i connected to console where it asked for root single maintence # # init 0 not foung # df -h not found # xscf>poweroff -a xscf>... (8 Replies)
Discussion started by: seems
8 Replies

6. UNIX for Dummies Questions & Answers

How to run multiple command in a single line?

Normally i would do this- cd abc ls -ltr I wish to run above command in a single line, like this- cd abc | ls -ltr But above command doesn't works, it simply runs the second command, ignoring the 1st one. :confused: (4 Replies)
Discussion started by: boy18nj
4 Replies

7. Shell Programming and Scripting

sed command to grep multiple pattern present in single line and delete that line

here is what i want to achieve.. i have a file with below contents cat fileName blah blah blah . .DROP this REJECT that . --sport 7800 -j REJECT --reject-with icmp-port-unreachable --dport 7800 -j REJECT --reject-with icmp-port-unreachable . . . more blah blah blah --dport 3306... (14 Replies)
Discussion started by: vivek d r
14 Replies

8. UNIX for Dummies Questions & Answers

To find and display the middle line in a file using single line command.

Hi all, How can i display the middle line of a file using a single line command? (6 Replies)
Discussion started by: Lakme Pemmaiah
6 Replies

9. Solaris

Can I run repair on lot of blocks with single command ?

Hi, I have Solaris-10 OS on T5220. Both local disks were mirrored under SVM. Somehow when one disk gone bad (c0t1d0), other disk (c0t0d0) also got lot of bad block. We have readable data only on c0t0d0, but as soon as server comes after, it hangs when I run few commands because of read errors,... (1 Reply)
Discussion started by: solaris_1977
1 Replies

10. Shell Programming and Scripting

How to run simple single command on multiple Linux servers?

Hi All, How can i run a single command on multiple servers with or without giving credentials. I have a file(servers.txt) which has got list of servers and i want to run a command lsb_release -dr on all these servers and get output of those servers against each server. I tried below code... (9 Replies)
Discussion started by: darling
9 Replies
SCRIPT(1)						    BSD General Commands Manual 						 SCRIPT(1)

NAME
script -- make typescript of terminal session SYNOPSIS
script [-a] [-k] [-q] [-t time] [file [command ...]] DESCRIPTION
The script utility makes a typescript of everything printed on your terminal. It is useful for students who need a hardcopy record of an interactive session as proof of an assignment, as the typescript file can be printed out later with lpr(1). If the argument file is given, script saves all dialogue in file. If no file name is given, the typescript is saved in the file typescript. If the argument command ... is given, script will run the specified command with an optional argument vector instead of an interactive shell. Options: -a Append the output to file or typescript, retaining the prior contents. -k Log keys sent to program as well as output. -q Run in quiet mode, omit the start and stop status messages. -t time Specify time interval between flushing script output file. A value of 0 causes script to flush for every character I/O event. The default interval is 30 seconds. The script ends when the forked shell (or command) exits (a control-D to exit the Bourne shell (sh(1)), and exit, logout or control-d (if ignoreeof is not set) for the C-shell, csh(1)). Certain interactive commands, such as vi(1), create garbage in the typescript file. The script utility works best with commands that do not manipulate the screen. The results are meant to emulate a hardcopy terminal, not an addressable one. ENVIRONMENT
The following environment variable is utilized by script: SHELL If the variable SHELL exists, the shell forked by script will be that shell. If SHELL is not set, the Bourne shell is assumed. (Most shells set this variable automatically). SEE ALSO
csh(1) (for the history mechanism). HISTORY
The script command appeared in 3.0BSD. BUGS
The script utility places everything in the log file, including linefeeds and backspaces. This is not what the naive user expects. It is not possible to specify a command without also naming the script file because of argument parsing compatibility issues. When running in -k mode, echo cancelling is far from ideal. The slave terminal mode is checked for ECHO mode to check when to avoid manual echo logging. This does not work when in a raw mode where the program being run is doing manual echo. BSD
June 6, 1993 BSD
All times are GMT -4. The time now is 03:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy