From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5307 invoked by alias); 25 Feb 2017 04:49:46 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 22488 Received: (qmail 4070 invoked from network); 25 Feb 2017 04:49:46 -0000 X-Qmail-Scanner-Diagnostics: from park01.gkg.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(205.235.26.22):SA:0(0.5/5.0):. Processed in 1.709837 secs); 25 Feb 2017 04:49:46 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=0.5 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_SORBS_SPAM,RP_MATCHES_RCVD,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.1 X-Envelope-From: SRS0=di5J=2G=brasslantern.com=schaefer@bounces.park01.gkg.net X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at bounces.park01.gkg.net does not designate permitted sender hosts) X-Virus-Scanned: by amavisd-new at gkg.net Authentication-Results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=brasslantern-com.20150623.gappssmtp.com X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:date:in-reply-to:comments:references:to:subject :mime-version; bh=DvU2XJ+gOMWWOF1EHyrYaELollFmYbpn7R/9fZiRF1o=; b=0M50F5HN1GWj8msXkdUCzXZjI2WMtTczy35qGIu2UhDRFZPMhXL8CFgk0ESdm84hEy yh+GiRI6KgfS+c54XfNCsrwLkaPmLQCPeQfmAoDiJuCP+scPmMR/ZsVeDv0qx7qqpR8h aed6BmATfpkYjZCeiz3j043+cbWj9+xyCaSC7/L25izFvFBGL1TJQQIgqDlerc0RcyHF bPFmUo/DfBlG4itn9LiQH+PmHLXh2B3GuSTjP/rrXiWAObWoRUUlZamwBF4rzTFLOfgA vLHMGqFi8U/5S7hMc9Ee4fHsAyeItl9WTAjPYGzB4ftSbUBDd808hLHwr7rwvXvKRFNe QOlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:date:in-reply-to:comments :references:to:subject:mime-version; bh=DvU2XJ+gOMWWOF1EHyrYaELollFmYbpn7R/9fZiRF1o=; b=NjKtEiG3mYl1ApmAmuLANBWEUcDaXboiz6bXMHZEWMgmiud3zZmMS+6m36ux8iX3tQ aN0eztCBTaZqHQPEF+kQt5Zp/1tF5D8HAMCucDuX12va7ETXR4Sejaotpzn95XYCQNMw IdmhsfUNsKT0VpokYiijcY4B+4tfgM6EHowFwXKzGBxP69Foa3Kh9ThXbvWzMg+bUpBq UVoc4I7YBdA6KA9UdKTzJ5D5eLb43STMznuRCHQHYuM3c9Jxg7SQWN/3zUuQOyWtHIDP nAhBVzXFoZ9E6BajiUFYgGm5O0l9OAV6M2qNiE6LFgFE60x5BhHp7b/9HVT+5g6kfpJl pwcQ== X-Gm-Message-State: AMke39nw17vpStT3YYXdMtMqNOyd8LfjiXcrL5iWGkncSHULwnpqBDUgJrCeLS+71DOZ/w== X-Received: by 10.159.40.101 with SMTP id c92mr2491255uac.111.1487997706986; Fri, 24 Feb 2017 20:41:46 -0800 (PST) From: Bart Schaefer Message-Id: <170224204153.ZM19840@torch.brasslantern.com> Date: Fri, 24 Feb 2017 20:41:53 -0800 In-Reply-To: <004ec4f2-3b3a-8907-86a6-4326399783aa@eastlink.ca> Comments: In reply to Ray Andrews "bash conversion trouble." (Feb 24, 5:35pm) References: <004ec4f2-3b3a-8907-86a6-4326399783aa@eastlink.ca> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: Zsh Users Subject: Re: bash conversion trouble. MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Feb 24, 5:35pm, Ray Andrews wrote: } Subject: bash conversion trouble. } } Gentlemen: } } } I'm trying to convert a long script from bash, which I know not at all, } to zsh, which I know hardly better: } } bash likes thisbut zsh throws a syntax error: } } case "${USE_OVERLAYFS,,}" in ${parameter^pattern} ${parameter^^pattern} ${parameter,pattern} ${parameter,,pattern} Case modification. This expansion modifies the case of alphabetic characters in parameter. The pattern is expanded to produce a pattern just as in pathname expansion. The ^ operator converts lowercase letters matching pattern to uppercase; the , operator converts matching uppercase letters to lowercase. The ^^ and ,, expansions convert each matched character in the expanded value; the ^ and , expansions match and convert only the first character in the expanded value. If pattern is omitted, it is treated like a ?, which matches every character. If parameter is @ or *, the case mod ification operation is applied to each positional parameter in turn, and the expansion is the resultant list. If parameter is an array variable sub scripted with @ or *, the case modification operation is applied to each member of the array in turn, and the expansion is the resultant list. So bash ${name,,} is zsh ${(L)name} ... and there isn't a simple zsh equivalent for what happens if there is a pattern following the ,, It'd also be kind of ugly to add ${name^pat} to zsh at this point, as we've already got ${name:^var} and ${name:^^var} which mean something radically different. (Not implementation-ugly, but semantics-ugly.)