So I have a bash script which will scan a directory and run a function on a selected input.
echo -n "
-------------------------------------------------------
`hostname` Menu
-------------------------------------------------------
Choose your desired Host:
`
i=1
for D in /var/www/*.*/;
do
if [[ -d $D ]]; then
Hosts[$i]=$D
echo $i') ' $D
i=$(($i+1))
fi
done
`
"
read -p "Select: " Input
Directory="${Hosts[$Input]}";
ChangePerms;
It seems that for some reason, the key is not setting from the array properly.
Choose your desired Host:
1) /var/www/example1.com/
2) /var/www/example2.com/
+ read -p 'Select: ' Input
Select: 1
+ Directory=
+ ChangePerms
+ true
What am I missing? All help is much appreciated!
EDIT: As a side note, I can run the commands separately and get results.
root@web005:/# i=1
root@web005:/# for D in /var/www/*.*/;
> do
> if [[ -d $D ]]; then
> Hosts[$i]=$D
> echo $i') ' $D
> i=$(($i+1))
> fi
> done
1) /var/www/example1.com/
2) /var/www/example2.com/
root@web005:/# read -p "Select: " Input
Select: 1
root@web005:/# Directory="${Hosts[$Input]}";
root@web005:/# echo $Directory
/var/www/example1.com/
root@web005:/#
Here is the working code for those who get stuck like me:
echo -n "
-------------------------------------------------------
`hostname` Menu
-------------------------------------------------------
Choose your desired Host:
"
i=1
for D in /var/www/*.*/;
do
if [[ -d $D ]]; then
Hosts[$i]=$D
echo $i') ' $D
i=$(($i+1))
fi
done
read -p "Select: " Input
Directory="${Hosts[$Input]}";
ChangePerms;