--- Begin Message ---
- From: "David R. Favor" <dfavor@xxxxxxxxxxxxxx>
- To: Zefram <zefram@xxxxxxxxx>
- Subject: Re: Parameter Expansion questions
- Date: Mon, 17 Aug 1998 10:16:58 -0500
- References: <199808171445.PAA24008@xxxxxxxxxxxxxxxxx>
> > splitpath=${buf:gs/:/ /} > > That's doing a substitution, rather than field splitting. Since the > effect you're asking for is actually a substitution, rather than field > splitting (since you're just joining up the fields again anyway), this > is logically the correct thing to do. > > OTOH, I suspect that you *really* want to be using an array parameter. > $path is an array version of $PATH, so you don't even need to do the > splitting manually in that case. Here's a larger fragment of the function I'm using, that is a wrapper around vi to check several directories for a file to edit. What is the recommended way to accomplish this in zsh, hopefully while retaining ksh compatibility also? I would like to get rid of the $shell_type nonsense and the ${=editpath} syntax in the loop. Thanks. _______ # paths to search editpath=${EDITPATH:-"$PATH:$CDPATH"} IFS=: if [ $shell_type = 'zsh' ] ; then <<< $shell_type editpath=${editpath:gs/:/ /} else editpath=$editpath fi IFS="$BACKUP_IFS" for name in $* ; do for dir in ${=editpath} ; do <<< ${=editpath} # find/edit the file done done
--- End Message ---