* wildcard in.sh script
Chip Camden
sterling at camdensoftware.com
Tue Jun 15 16:25:11 UTC 2010
On Jun 15 2010 17:06, Aiza wrote:
> Aiza wrote:
> >I have a directory with files in it. The first 3 letters of the file
> >names is the group prefix. I'm trying to write a script to accept the 3
> >letter of the group followed by a * to mean its a prefix lookup. But
> >when I run it I get a message "NO match" that is not issued by the
> >script. Its like * is not allowed as input.
> >
> >Looking for sample .sh code for handling this standard type of lookup or
> >some online tutorial that has sample code for bourne shell programming.
> >
>
>
>
> Here is the code
>
> prefix_name1=$1
> prefix_name2=`echo -n "${prefix_name1}" | sed 's/*.*$//'`
> echo "prefix_name1 = ${prefix_name1}"
> echo "prefix_name2 = ${prefix_name2}"
>
>
> if [ ${prefix_name1} -nq ${prefix_name2} ]; then
> echo "prefix_name2 = ${prefix_name2}"
> fi
> exerr "hard stop"
>
>
> Here is the test and out put
> # >admin cell*
> admin: No match.
>
As others have mentioned, you need to quote or escape the * in the
command line:
admin "cell*"
You've also botched your regex (/*.*$/) -- it can't begin with a *. What exactly
are you trying to match?
--
Sterling (Chip) Camden
http://camdensoftware.com | http://chipstips.com | http://chipsquips.com
More information about the freebsd-questions
mailing list