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 _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"