For loop -- noob question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting For loop -- noob question
# 1  
Old 12-30-2012
For loop -- noob question

Hello,

I am new to shell scripting and i am trying to figure why is this not working with else statement.

I am searching for every directory in that DIR i am in, however the "else" seems to be triggered whenever the run the script..

Much thanks in advance!

Code:
#!/bin/shell

for item in *
do
		if [ -d $item ]
			then
				echo $item		
			else
				echo	"nothing exist"
					
		
fi
done

# 2  
Old 12-30-2012
directories live in hierarchies - parent -> child.
The find command "knows" this, your script does not

usage:
Code:
cd /somewhere
find . -type d

where find . means start in the current directory which is called ".",
-type is the kind of file, -type d is directory
# 3  
Old 12-30-2012
Quote:
Originally Posted by jim mcnamara
directories live in hierarchies - parent -> child.
The find command "knows" this, your script does not

usage:
Code:
cd /somewhere
find . -type d

where find . means start in the current directory which is called ".",
-type is the kind of file, -type d is directory
Thanks Jim for your detail response.

I just wanted to explore using for loop with if statement and "else" -- just experimenting but i don't understand the logic why the else statement is triggered when the file does exist or doesn't. Any ideas why? Thanks again!
# 4  
Old 12-30-2012
I don't know why it does not work, perhaps no files are present?
However if you are only looking for directories in the current directory, try:

Code:
for dir in */
do
  echo "$dir"
done


--
btw, I don't know if it is deliberate, but /bin/shell will probably not exist on your system.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Total Noob BASH scripting question

Hello All, I have a file of ip addresses called activeips.txt What I'm trying to do is run a simple bash script that has a loop in it. The loop is a cat of the IP addresses in the file. The goal is to run 2 nmap commands to give me outputs where each address in the list has an OS... (11 Replies)
Discussion started by: Dirk_Pitt
11 Replies

2. Shell Programming and Scripting

Noob Expect Scripting Question

I'm having some difficulty with convincing Expect to do what I need.. I have a loop that waits for input, a specific phrase of text followed by a single word. I need Expect to capture that word following the specific phrase. It should then store the word in a variable. I'm fairly sure it's... (6 Replies)
Discussion started by: LongLeafTea
6 Replies

3. UNIX for Dummies Questions & Answers

Noob question about parsing a website

I'm trying to parse the website, finance.yahoo.com/q?s=ge&ql=1, and retrieve the info between <span id="yfs_l84_ge">18.98</span>, so 18.98. What would be the best way to go about this in a bash script? Any help or suggestions will be much appreciated. Thanks! (2 Replies)
Discussion started by: mayson
2 Replies

4. Shell Programming and Scripting

Noob stuck - where do I put my loop

I'm a noob working on a script to take 3 user inputs. One of them is simply a variable: "poolname". The other 2 are cases: "groupa/groupb" and "enable/disable". "groupa" and "groupb" reference 2 files - groupa.txt or groupb.txt. These files simply consist of a list of server IP addresses and port... (2 Replies)
Discussion started by: *nixnoob
2 Replies

5. Ubuntu

Simple Noob Question

I am editing the squid.confi on my server. I am done editing. How do I exit the confi file? Thank you. (2 Replies)
Discussion started by: sethartha
2 Replies

6. BSD

Complete noob question: Software installation

I'm a Linux guy who is tring out BSD for the first time... What is the BSD program to automatically fetch and and install software? Is it pkg_add? Will pkg_add automatically fetch and and install software? Does it work on all BSD variants? This is all I could find, but I wanted to make... (5 Replies)
Discussion started by: biznatch
5 Replies

7. Shell Programming and Scripting

noob question about redirecting stderr

I dont know what I am doing wrong but I would like to redirect the stderr output to a file? the specific command is this time wget http://www.something.com/somefile.bin All I want to see is time's output which is stderr so I can see how long the file download took. I've tried redirecting... (2 Replies)
Discussion started by: trey85stang
2 Replies

8. UNIX for Dummies Questions & Answers

Noob question on comparing #'s.

I have a file with 3 digit numbers in it formatted as such: 123 065 321 How would I go about seeing if each number is less than 100 and if so outputting it to another file Yes, I am a bit of a noob. I have tried with grep but I don't think it'll work. Any general direction would be... (6 Replies)
Discussion started by: kirkm76
6 Replies

9. UNIX for Dummies Questions & Answers

Noob sorting question

Ok here is the deal, I have a command given to me by some systems guy who I cannot get ahold of on the weekend without paying him alot of money to help me. I need to get this done before Monday as I am just getting pummeled by DOS attacks. The comand given was.... netstat -ntu | awk '{print... (1 Reply)
Discussion started by: Hexabah
1 Replies

10. Programming

Question about compiling (noob)

I'm just getting started to lean C and I'm using Ubuntu today I found a tutorial at this site: http://einstein.drexel.edu/courses/CompPhys/General/C_basics/c_tutorial.html and I got an error after compiling the fist code: #include < stdio.h> void main() { printf("\nHello World\n"); } ... (9 Replies)
Discussion started by: arya6000
9 Replies
Login or Register to Ask a Question