Sponsored Content
Top Forums Shell Programming and Scripting Shell Command execution through PERL Post 302385059 by gaurav1086 on Thursday 7th of January 2010 03:05:30 AM
Old 01-07-2010
Quote:
Originally Posted by hardik_snps
Hi Guys,

I wish to execute some shell commands through PERL.

Here is what I desire to do
1) I wish to find list of directories in current working location
2) Then go in each directory and execute few commands like
a) rm -rf *.log (Shell command)
b) coreBuilder -f cb_tests.tcl (Some program Execution)
3) cd .. (come out of that dir)

Here is code writen by me

Code:
#!/usr/bin/perl  

###         system( "/usr/bin/cd", "8000294119" );

@dir_list = ` ls -d */. `;

foreach $dir_name (@dir_list) {
    print "$dir_name";
    system("cd $dir_name");
    system("\rm -rf *.log");
    system("coreBuilder -shell -f cb_tests.tcl >& cb_tests.log");
    system("coreAssembler -shell -f ca_tests.tcl >& ca_tests.log");
    system("cd ../");
}

But it does not work. It does not go in directory, does not perform any job in the directory.

Thanks for your timely response.
Hardik
Hello Since I do not see any other perl concepts in this, so why dont you go for a bash script rather than a perl?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

perl command help in shell script

Hello friends , I need a help how to call the variable which has define in the shell script in the perl command line. example of the shell scrip : str="hell0" i want print the value of this variable in the perl command line. perl -e 'print $str' but this is not working . can... (2 Replies)
Discussion started by: venky_2_2000
2 Replies

2. UNIX for Advanced & Expert Users

Invoking shell script with perl command.

Hi All, I am using the following command to invoke the shell script from a perl command. perl -i.bak -pe'BEGIN { $cmd = "/opt/coreservices/tomcat-5.5.9/bin/digest.sh -a sha"; } s/(password=")(*)/ $1.`$cmd $2|cut -d: -f2|tr -d "\n"` /e ' $CATALINA_HOME/conf/tomcat-users.xml I need... (1 Reply)
Discussion started by: nua7
1 Replies

3. Shell Programming and Scripting

running shell command in Perl script

Does not work. #!/usr/bin/perl $etcdir = 'ls -l /etc'; print $etcdir; #END ------------result-------- #perl -w abc123.pl ls -l /etc # This method works. #!/usr/bin/perl $etcdir = system("ls -l /etc"); print $etcdir; #END (2 Replies)
Discussion started by: dplinux
2 Replies

4. UNIX for Dummies Questions & Answers

perl command in shell not working

perl script i am using for search and replace is not working as expected... I am using it for in-place search/replace. I am new to perl, can someone please help me solving the issue here. ########SCRIPT #!/bin/sh var="abc" var2="def" perl -pi -e 's/${var}/def/g' testfile exit 0 ... (0 Replies)
Discussion started by: manishma71
0 Replies

5. Shell Programming and Scripting

ps command through shell and perl

Hi , I have a ps command inside perl script : ps -ef | egrep tail_file.pl | egrep -v egrep | awk '{print $2}' | egrep $pid through shell it's working fine . The same coammnd when executed through PERL , it'd displaying all the results oracle 10141 1 0 2010 ? ... (5 Replies)
Discussion started by: talashil
5 Replies

6. Shell Programming and Scripting

Passing perl variable to shell command

Can we pass perl variable to shell commands. If yes, please give some example. (2 Replies)
Discussion started by: Anjan1
2 Replies

7. Shell Programming and Scripting

Shell command execution always giving zero as return value

Whenever the shell script is invoked by the scheduler the command execution return code is always captured as 0(Success). If the same shell script is executed in command line via unix terminal, the command execution return code's are captured properly. For example: ls -ltr es_wrong_file ---->... (5 Replies)
Discussion started by: vemal
5 Replies

8. Shell Programming and Scripting

Use shell variable in perl command line

Hi, I would like to use a shell variable $amp in my perl command line. for fa in $WORKSPACE/*.fa; do amp=`grep ">.*" $fa | sed -e's#>\(.*\)#\1#g'` ampsam="$WORKSPACE/$base/$base.$amp.sam" sqheader=`grep "^@SQ.*SN:$amp.*" $sam` printf "$sqheader\n" >> $ampsam ... (3 Replies)
Discussion started by: jdilts
3 Replies

9. Shell Programming and Scripting

Usage of shell variable in perl command

Hi, I have a shell script, In which i have variable "var1" and some perl command inside shell script. export var1='coep -n rst-a2p-hinje.vci.all.com -c' perl -pi -e 's/^/coep -n rst-a2p-hinje.vci.all.com -c /' command.txt currently I am adding value of var1 in command.txt file by... (2 Replies)
Discussion started by: rakeshtomar82
2 Replies

10. Shell Programming and Scripting

How to use shell command on Perl scritps?

On our OS I don't have Perl df command. How can I use shell commands from Perl scripts? (6 Replies)
Discussion started by: digioleg54
6 Replies
SMRSH(8)						      System Manager's Manual							  SMRSH(8)

NAME
smrsh - restricted shell for sendmail SYNOPSIS
smrsh -c command DESCRIPTION
The smrsh program is intended as a replacement for sh for use in the ``prog'' mailer in sendmail(8) configuration files. It sharply limits the commands that can be run using the ``|program'' syntax of sendmail in order to improve the over all security of your system. Briefly, even if a ``bad guy'' can get sendmail to run a program without going through an alias or forward file, smrsh limits the set of programs that he or she can execute. Briefly, smrsh limits programs to be in a single directory, by default /etc/smrsh, allowing the system administrator to choose the set of acceptable commands, and to the shell builtin commands ``exec'', ``exit'', and ``echo''. It also rejects any commands with the characters ``', `<', `>', `;', `$', `(', `)', ` ' (carriage return), or ` ' (newline) on the command line to prevent ``end run'' attacks. It allows ``||'' and ``&&'' to enable commands like: ``"|exec /usr/local/bin/procmail -f- /etc/procmailrcs/user || exit 75"'' Initial pathnames on programs are stripped, so forwarding to ``/usr/ucb/vacation'', ``/usr/bin/vacation'', ``/home/server/mydir/bin/vaca- tion'', and ``vacation'' all actually forward to ``/etc/smrsh/vacation''. System administrators should be conservative about populating the /etc/smrsh directory. Reasonable additions are vacation(1), procmail(1), and the like. No matter how brow-beaten you may be, never include any shell or shell-like program (such as perl(1)) in the /etc/smrsh directory. Note that this does not restrict the use of shell or perl scripts in the sm.bin directory (using the ``#!'' syntax); it simply disallows execution of arbitrary programs. FILES
/etc/smrsh - directory for restricted programs SEE ALSO
sendmail(8) $Date: 2002/04/25 13:33:40 $ SMRSH(8)
All times are GMT -4. The time now is 02:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy