![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| calling a script from a level above where the script resides | SummitElse | UNIX for Advanced & Expert Users | 2 | 10-26-2007 06:27 AM |
| calling a script from another | madhu_aqua14 | UNIX for Dummies Questions & Answers | 2 | 02-27-2007 03:16 AM |
| Box A's perl script calling box B's shell script | new2ss | Shell Programming and Scripting | 1 | 09-13-2006 03:17 AM |
| calling dos2unix on shell script from within the script | vino | Shell Programming and Scripting | 4 | 04-08-2005 12:38 AM |
| Calling C from within a csh script | barisgultekin | Shell Programming and Scripting | 2 | 05-24-2002 06:21 PM |
|
|
Submit Tools | LinkBack | Thread Tools | Display Modes |
|
|||
|
How to identify the calling script?
Hi,
I have two scripts ( /tmp/k1.sh and /tmp/k2.sh ). k1.sh calls the k2.sh . For security reasons, I must be sure that the k2.sh is being called by the k1.sh . Is it possible for the k2.sh identify that it's been called by the k1.sh? I mean, identify the complete path of the k1.sh ( /tmp/k1.sh ). Thanks for any help, Cremm. |
| Forum Sponsor | ||
|
|
|
|||
|
Quote:
I can't use the solutions 1 and 2 for security reasons, but the third solution sounds to be great. I did this: The code: #!/bin/ksh var1=`echo $$` echo "k2.sh pid => " $var1 ## Just for checking. Will be erased... echo "Listing processes with the k2.sh pid" ## Just for checking. Will be erased... ps -ef | grep $var1 ## Just for checking. Will be erased... v=`ps -ef | grep $var1 | sort +1 -2 | cut -d" " -f4 | head -1` echo "k2.sh parent process => "$v ## Just for checking. Will be erased... echo "Listing processes with the k2.sh parent process" ## Just for checking. Will be erased... ps -ef | grep $v ## Just for checking. Will be erased... echo "The parent process..." ## Just for checking. Will be erased... ps -ef | grep $v | sort | head -1 | cut -d" " -f13 The result: server01:/var/tmp$ /var/tmp/k1.sh k2.sh pid => 29483 Listing processes with the k2.sh pid user01 29484 29483 1 12:43:59 pts/38 0:00 ps -ef user01 29483 29482 0 12:43:59 pts/38 0:00 /bin/ksh /var/tmp/k2.sh k2.sh parent process => 29482 Listing processes with the k2.sh parent process user01 29482 28411 0 12:43:59 pts/38 0:00 /bin/ksh /var/tmp/k1.sh user01 29483 29482 0 12:43:59 pts/38 0:00 /bin/ksh /var/tmp/k2.sh The parent process... /var/tmp/k1.sh Can you see any security hole in it? Thanks a lot for your help!! Cremm. |
|
|||
|
Quote:
your solution didn't work for me. Check it out..... server01:/var/tmp$ /var/tmp/k1.sh pts/27 0:00 0:00 pts/101 ? ? ? pts/15 pts/15 pts/27 Thanks anyway for your help, Cremm. |
|
|||
|
Quote:
ps -ef | grep $PPID | sort | head -1 | awk '{ print $NF }' server01:/var/tmp$ /var/tmp/k1.sh /var/tmp/k1.sh []s, Cremm. |
|||
| Google The UNIX and Linux Forums |