BASH Shell Frequently Asked Questions

by on November 30, 2007 · 2 comments· LAST UPDATED December 27, 2007

in , ,

This document contains a set of frequently-asked questions concerning Bash, the GNU Bourne-Again Shell. Bash is a free and default command interpreter with advanced features for both interactive use and shell programming under Linux. Also don't forget TLDP bash guide / Advanced Bash-Scripting Guide.

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 2 comments… read them below or add one }

1 Manojg March 23, 2008 at 4:04 pm

Hi,

I am using bash shell. I have a list of selected directories and want to loop over these directories. The code is like this:

=========================================
#!/bin/bash
dir1=/home/abc/xyz1
dir2=/home/abc/xyz2
dir3=/home/cft/dsf
————
————

x=1
dir=””
while [ $x -le 8 ]; do
echo $(“dir”$x)
let x++
done
===========================================

In output it produces dir1, dir2, dir3 etc., not the full name directory as defined above. How should I do this?

Thanks
Manojg

Reply

2 Zhiyi April 16, 2008 at 9:48 pm

See my solution

#!/bin/bash

#one approach is to use array
dir=(/home/abc/xyz1 /home/abc/xyz2 /home/cft/dsf)
x=0
while [ $x -lt ${#dir[@]} ];
do
echo ${dir[x]}
((x++))
done

# another one is just use 'for'
echo ""
dirs="/home/abc/xyz1 /home/abc/xyz2 /home/cft/dsf"
for dir in $dirs
do
echo $dir
done

Reply

Leave a Comment

Tagged as: , , , , , , , , ,

Previous post:

Next post: