![]() |
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !! |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| problem in awk int() function | qa.bingo | Shell Programming and Scripting | 2 | 01-02-2009 09:52 AM |
| Recursion | joshighanshyam | High Level Programming | 5 | 12-03-2008 12:15 PM |
| Help Help Help in recursion | murtaza | Shell Programming and Scripting | 6 | 03-29-2007 11:26 AM |
| Problem with recursion in subdirectories | scotty_123 | Shell Programming and Scripting | 5 | 03-11-2007 05:51 AM |
| recursion | gsjf | Shell Programming and Scripting | 1 | 08-26-2002 01:22 AM |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
||||
|
Function Recursion Shift Problem
Hi, I'm trying to create a script that will display the contents of the users directories, but i'm confused about how to incorporate the shift properly. The problem I'm getting with my script is that it goes throught the first couple of directories but then returns an error as it loses the first directory when continuing the search to other directories (I hope that makes sense?!) EDIT: I apologise, that was the old problem, now the problem is the path to be searched adds the wrong directories so it looks in paths that do not exist Here's my code, any help would be greatly appreciated. Code:
direc=~
list=$(ls -l $direc | egrep '^d' | cut -d" " -f8)
function printList() {
for line in $*
do
echo $line
list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8)
direc=$direc/$1
shift
printList $list
done
}
printList $list
EDIT2: I have also tried suppressing the error returned by the ls to dev null by editing the line inside the function: Code:
list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8 2>/dev/null) and also Code:
list=$(ls -l $direc/$1 | egrep '^d' | cut -d" " -f8) 2>/dev/null but niether work, both return the same output, in other words they are still not suppressesing the standard error.
Last edited by nuvpal; 03-12-2009 at 06:22 AM.. |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|