How to run a shell script with different user with in another shell script ?

How to run a shell script with different user from/with in  another shell script ?
Some times it is required to run a shell script with a specific OS user from another shell script, in such cases we can call the actual shell script with following options from another shell script.
Here important thing to understand is one line ...
/bin/su - -c ""
/bin/su : it helps to call su binary to swith user
-c option tells the command to run

009:/opt # cat 1.sh
#!/bin/sh

echo "in one"
/bin/su - smadmin -c "/opt/2.sh"

009:/opt # cat 2.sh
#!/bin/sh

echo "in two"
id
pwd
ls -lrt


009:/opt # cat test.sh
#!/bin/sh

$*
RC=$?
echo "ant_exec return code is $RC"
exit $RC

So when we run the test.sh script which calls one and internally calls 2.sh will show output like below ...
009:/opt # ./test.sh /opt/1.sh
in one
in two
uid=1009(smadmin) gid=112(db2iadm1) groups=16(dialout),33(video),111(dasadm1),112(db2iadm1)
/home/smadmin
total 12
drwxr-xr-x  2 smadmin db2iadm1 4096 2013-01-02 20:57 bin
drwxrwsr-t 24 smadmin db2iadm1 4096 2013-01-14 12:37 sqllib
drwxrwxr-x  3 smadmin db2iadm1 4096 2013-02-01 16:28 smadmin
ant_exec return code is 0


0 comments to "How to run a shell script with different user with in another shell script ?"

Post a comment

Whoever writes Inappropriate/Vulgar comments to context, generally want to be anonymous …So I hope U r not the one like that?
For lazy logs, u can at least use Name/URL option which doesn’t even require any sign-in, The good thing is that it can accept your lovely nick name also and the URL is not mandatory too.
Thanks for your patience
~Krishna(I love "Transparency")

Popular Posts

Enter your email address:

Buffs ...

Tags


Powered by WidgetsForFree