Sample FOR loop question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sample FOR loop question
# 1  
Old 03-09-2009
Question Sample FOR loop question

This sample script should obtain a list of files in my home directory:

#!/bin/bash
# Manipulate files and copy to my home directory
#
for FILE in $HOME/.bash*
do
cp $FILE ${HOME}/public_html
chmod a+r ${HOME}/public_html/${FILE}
done

Unfortunately it only produces an error:

-bash-3.2$ ./fileloop.sh
chmod: can't access /students/kporte01/public_html//students/kporte01/.bash_history
chmod: can't access /students/kporte01/public_html//students/kporte01/.bash_profile
chmod: can't access /students/kporte01/public_html//students/kporte01/.bashrc

Running the script in debug mode, the result is:

-bash-3.2$ ./fileloop.sh
+ for FILE in '$HOME/.bash*'
+ cp /students/kporte01/.bash_history /students/kporte01/public_html
+ chmod a+r /students/kporte01/public_html//students/kporte01/.bash_history
chmod: can't access /students/kporte01/public_html//students/kporte01/.bash_history
+ for FILE in '$HOME/.bash*'
+ cp /students/kporte01/.bash_profile /students/kporte01/public_html
+ chmod a+r /students/kporte01/public_html//students/kporte01/.bash_profile
chmod: can't access /students/kporte01/public_html//students/kporte01/.bash_profile
+ for FILE in '$HOME/.bash*'
+ cp /students/kporte01/.bashrc /students/kporte01/public_html
+ chmod a+r /students/kporte01/public_html//students/kporte01/.bashrc
chmod: can't access /students/kporte01/public_html//students/kporte01/.bashrc

Hmmm... what did I miss?
# 2  
Old 03-09-2009
try changing this:
Code:
chmod a+r ${HOME}/public_html/${FILE}

to this:
Code:
chmod a+r ${HOME}/public_html${FILE}

# 3  
Old 03-10-2009
Data Re: Sample FOR loop question

Tried it; still no luck...
# 4  
Old 03-10-2009
You are doing this:

Code:
for FILE in $HOME/.bash*

And this:
Code:
cp $FILE ${HOME}/public_html

Then shouldn't you be doing this?
Code:
chmod a+r ${HOME}/public_html/$(basename $FILE)

# 5  
Old 03-10-2009
For the files to copy, public_html should be a directory. Hence create a directory with the name public_html before executing this script.

#!/bin/bash
for FILE in $HOME/.bash*
do
cp $FILE ${HOME}/public_html
done
chmod 444 ${HOME}/public_html/.bash*


This will copy all the file that start with .bash to the directory public_html.
After executing this script, cd to the public_html directory and execute ls -al. Hopefully this should resolve your issue.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Question about for loop

Hi, I have code like below disk_list=$(ls /root/file1) for disk in $disk_list do pvcreate $i done I know what pvcreate command does, but I do not understand what this $i do here. can someone please explain. (2 Replies)
Discussion started by: stew
2 Replies

2. UNIX for Dummies Questions & Answers

Loop question

Hi, I would really appreciate some help with manipulating a file. Here is my input file: SNP_1 : 1 SNP_11 : 1 SNP_2 -0.12 1 SNP_12 -0.3472 1 SNP_3 -0.708 1 SNP_13 0.5037 1 SNP_4 1.492 0.5 SNP_14 -0.0685 1 SNP_5 1.27 0.5 SNP_15 0.547 ... (3 Replies)
Discussion started by: zajtat
3 Replies

3. Shell Programming and Scripting

While loop Question

Hi, I have a requirement where I have to check for 10 files in Unix location. If all of the files present in that directory then i have execute another process. can you help me resolving this issue. sample location /home/usr abc.txt cde.txt aaaa.txt lll.txt ooo.txt if all the... (3 Replies)
Discussion started by: manasvi24
3 Replies

4. Shell Programming and Scripting

For loop question

Hi, I'm trying to put together a small script that will read a txt file that contains a list of two columns. Each column is the name of a folder.. e.g. AIX Server1 AIX Server2 AIX Server3 $ for i in `cat /opt/apacheprod/scripts/input/copy_list.txt` do PLATFORMVAR=`awk ' { print $1 } '... (7 Replies)
Discussion started by: Jazmania
7 Replies

5. Shell Programming and Scripting

For Loop Question

I am struggling with the for loop. I have a file name heros.txt and I would like to go through a list in file where.txt and see if I can find the name from where inside heros. One of the problems that I am having is I dont understand how to setup the for loop to find the list to search.:wall: ... (6 Replies)
Discussion started by: captaindoogles
6 Replies

6. Shell Programming and Scripting

loop question

hey guys what im trying to do is do a simple script that will ask for a password and on the 5th time it says access denied if the right password is still not entered this is what i have so far can anyone help me im not good with scripting thanks in advance #!/bin/bash secretname=secret... (2 Replies)
Discussion started by: randallrivy11
2 Replies

7. Shell Programming and Scripting

BASH loop inside a loop question

Hi all Sorry for the basic question, but i am writing a shell script to get around a slightly flaky binary that ships with one of our servers. This particular utility randomly generates the correct information and could work first time or may work on the 12th or 100th attempt etc !.... (4 Replies)
Discussion started by: rethink
4 Replies

8. Shell Programming and Scripting

For Loop Question

Hi, I am writing a bash shell script. I will have a section of code devoted to a for loop: for FILE in *.hdf *.L2; do echo hello world done The complication is that sometimes there will not be any files with a ".hdf" extension, or sometimes there won't be any with a ".L2" extension. Since... (4 Replies)
Discussion started by: msb65
4 Replies

9. Shell Programming and Scripting

while loop question

while do print What is the next device number to be added to $dgroup? print Press \<Enter\> if there are no more devices to be added. read dev_num export dev_num symld -g $dgroup -sid $sname add dev $dev_num done In this while... (2 Replies)
Discussion started by: stepnkev
2 Replies

10. Shell Programming and Scripting

Loop question

hi, how would i go about making a loop which gets each line from a single text file, set it to a variable and then print it to screen? thanks eg: #!/bin/sh FILE="somefile.txt" text_line="" what kind of loop would use here? (18 Replies)
Discussion started by: strike
18 Replies
Login or Register to Ask a Question