Unable to execute find command from inside a shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Unable to execute find command from inside a shell script
# 1  
Old 03-28-2020
Unable to execute find command from inside a shell script

I have a shell script with 775 permission as below

/app/script/test.sh

Code:
#!/bin/bash
/usr/bin/find /app/Jenkins/home/jobs/test1/builds -type d -mtime 1 |  xargs rm -rf
/usr/bin/find /app/Jenkins/home/jobs/test2/builds -type d -mtime 1 |  xargs rm -rf

When i execute the script it simply runs without the find command getting executed and the files being deleted.

Both the find commands work fine when i execute them manually from the terminal.

I want the script to run both the find commands and perform their respective tasks.

i tried to put backticks `` around the find command but still no luck.

Can you please suggest ?
# 2  
Old 03-28-2020
Why use a pipe when it can be done within find command?
look at the man pages of man, especially after how to use multi criteria and the the exec
This User Gave Thanks to vbe For This Post:
# 3  
Old 03-28-2020
I tried

Code:
#!/bin/bash
/usr/bin/find /app/Jenkins/home/jobs/test1/builds -type d -mtime 1 -exec rm -rf {} \; 
/usr/bin/find /app/Jenkins/home/jobs/test2/builds -type d -mtime 1 -exec rm -rf {} \;

This works and deletes the folders but i get several error messages stating No such file or directory under "/app/Jenkins/home/jobs/test2/builds". Can you please explain why and what is a good approach to avoid such warning messages ?

I'm also curious to learn why exec would work while pipe xargs would not !!

Last edited by mohtashims; 03-28-2020 at 09:13 AM..
# 4  
Old 03-28-2020
Quote:
why exec would work while pipe xargs would not !!
because that is how it was designed to work with find, and it is not xargs the culprit but rm command
in other words many commands e.g. accept a - to take for input what comes from a pipe, rm does not...
but you could try (in ksh...)
Code:
rm -rf $(/usr/bin/find /app/Jenkins/home/jobs/test2/builds -type d -mtime 1)

To question one, usually I would say you had links that were deleted by the first line, or temp files at the time of the find that were no more there when it came to rm
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Unable to pass shell script variable to awk command in same shell script

I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist. diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff | awk... (2 Replies)
Discussion started by: Ashunayak
2 Replies

2. Shell Programming and Scripting

How to execute a command inside a while loop?

How do we execute a command inside a while loop? (7 Replies)
Discussion started by: Little
7 Replies

3. Shell Programming and Scripting

How to find whether a particular command has failed inside an sftp script?

hi, how can i know whether a command inside an sftp script has failed or not? i have a sftp expect script #!/usr/bin/expect spawn /usr/bin/sftp abc@ftp.abc.com expect "sftp>" send "cd dir\r" expect "sftp>" send "mput abc.txt\r" expect "sftp>" send "mput def.xls\r" expect "sftp>"... (5 Replies)
Discussion started by: Little
5 Replies

4. Shell Programming and Scripting

Can i use if else inside expect command in shell script?

hii,, I am trying to automate jira. during my scripting using bash script, in the terminal i got the terminal message like this: "Configure which ports JIRA will use. JIRA requires two TCP ports that are not being used by any other applications on this machine. The HTTP port is where you... (1 Reply)
Discussion started by: nithinfluent
1 Replies

5. Shell Programming and Scripting

When i am trying to execute export command within a shell script it is saying command not found.

I am running the export command within a view to use that value inside my build script. But while executing it it is saying "export command not found" My code is as follows: -------------------------- #!/bin/sh user="test" DIR="/bldtmp/"$user VIEW="test.view1" echo "TMPDIR before export... (4 Replies)
Discussion started by: dchoudhury
4 Replies

6. UNIX for Dummies Questions & Answers

Unable to execute the complete cmd - using find command

Hi, I'm unable to execute the below command completely ; it's not allowing me to type the complete command. It is allowing till "xargs" and i cannot even press enter after that. I'm using Solaris. Let me know if anything needs to be added so as to execute the complete command. Appreciate... (12 Replies)
Discussion started by: venkatesht
12 Replies

7. Shell Programming and Scripting

How to monitor a command inside shell script

Hi All, Is there any way to monitor a command inside shell script ? I have a script inside which I have a tar command which zips around 200GB data. tar zcvf $Bckp_Dir/$Box-BaseBackup-$Day.tar.gz * --exclude 'dbserver_logs/*' --exclude postmaster.pid --exclude 'pg_xlog/*' I want to... (3 Replies)
Discussion started by: sussus2326
3 Replies

8. Shell Programming and Scripting

Execute a shell script after a particular command is run

Hi, I need to run a script whenever the Cron file is modified. The requirement is whenever a user modifies the cron file, the script should run automatically. Can you please provide your inputs ? (5 Replies)
Discussion started by: harneet2004us
5 Replies

9. Shell Programming and Scripting

deleting files inside shell script - ( using find)

Hi, I am using the command find /apps/qualdb/gpcn/scripts/cab_outbound/archive -name 'z*' -mtime +28 -exec rm {} \; in unix command prompt for deleting the files in my unix system under the specfied folder. It was succesfull. But when i running this command inside a shell script name... (2 Replies)
Discussion started by: Jayaram.Nambura
2 Replies

10. Shell Programming and Scripting

Execute command inside while problem

Hi! How can I execute a linux command inside the while cicle?? like: This doesn't work. Should I replace the by '' or "" (3 Replies)
Discussion started by: ruben.rodrigues
3 Replies
Login or Register to Ask a Question