From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9566 invoked by alias); 9 Mar 2012 22:27:26 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 30335 Received: (qmail 233 invoked from network); 9 Mar 2012 22:27:25 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 Received-SPF: none (ns1.primenet.com.au: domain at closedmail.com does not designate permitted sender hosts) From: Bart Schaefer Message-id: <120309142704.ZM16563@torch.brasslantern.com> Date: Fri, 09 Mar 2012 14:27:04 -0800 In-reply-to: Comments: In reply to "S. Cowles" "parameter expansion, substitution" (Mar 9, 2:03pm) References: X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-workers@zsh.org Subject: Re: parameter expansion, substitution MIME-version: 1.0 Content-type: text/plain; charset=us-ascii On Mar 9, 2:03pm, S. Cowles wrote: } Subject: parameter expansion, substitution } } i am not getting expected results in the following code snippet: } b="abc" ; b=${b/#abc%/d} ; echo ${b} } i expect the value of b to be changed to "d"; however, it remains "abc". You've misunderstood. You want: b="abc" ; b=${b/#%abc/d} ; echo ${b} The # or % or #% must appear at the beginning of the pattern, they are not positional like ^ and $ in a regular expression.