--On Tuesday, June 16, 2009 08:09:09 -0500 Carmel NY <carmel...@hotmail.com>
wrote:
I am attempting to write a simple Bash script that will find all the
'*.pem' files in a directory structure and move them to another
directory. It seems to work until I get to the copy part where it fails.
My scripting skills are not that good. Perhaps someone could tell me
what I am doing wrong.
This is the script:
# ! /usr/bin/env bash
# Save the field separator
oIFS=$IFS
# Set it to line breaks
IFS=$'\n'
for i in $(find ./ -name "*.pem" -print); do
# Get the basename
BN=$(basename $i)
# copy the file to another directory using the base name
cp $i /usr/home/tmp/$BN
done
# Reset the IFS variable
IFS=$oIFS
exit
When I write scripts, I test them on the commandline to see if they're doing
what I think they're doing. I don't get the $(find ....) construction. You're
invoking find from within a for loop to return a value. Use backticks.
This works.
for i in `find ./ -name "*.pem" -print`
do
foo
bar
done
--
Paul Schmehl (pa...@utdallas.edu)
Senior Information Security Analyst
The University of Texas at Dallas
http://www.utdallas.edu/ir/security/