I have a small shell script to try to pass variable out of pipe and function.
#!/bin/sh
dir_names=
level2_dir_except_list="/b
in /cdrom /dev /devices /fallback /kernel /lib /lost+found /mnt /net /proc /sbin /var /vol"
get_level2_dir()
{
export dir_names
find /*/. \( -type d -a -name . -prune \) | {
export dir_names
while read line
do
except_flag="false"
dir_name=`echo $line | cut -f1-2 -d"/"`
for except_dir in ${level2_dir_except_list}
do
if [ "$dir_name" = "$except_dir" ]
then
except_flag="true"
break
fi
done
if [ "$except_flag" != "true" ]
then
dir_names="$dir_names $dir_name"
fi
done
echo $dir_names # This one is fine
}
echo $dir_names # empty string
}
get_level2_dir
echo $dir_names #empty string
Also is there better way to do it?
~
Start Free Trial