From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 28592 invoked from network); 18 Aug 2021 02:55:50 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 18 Aug 2021 02:55:50 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1629255350; b=dcyW2j2JrxgVLr1i8xEmq0J46ab21o+JCuExUt+ffjvWPyLY23qe28aYFlE4grN/U6WFXJ2rq5 MvGPA8ur06waUHsZevtCZ8f88EamEjJ88icPCMghXgrXlSJeIcuxGnSLYQnbUml8OwZtCzQnel 4yOyETcG8oTI7mZdABIk71ucsko18sQFWLpD8KjT0S5mhXpgXKoPlyubcjfxdrj5sUUD6fVV5F xkHM4Zjh/R7jCWZoSget2BZL5KgBcBEtCdGouRTvhzUAJ70+aamUMUfdnEVfvTiGKbTwrsfyvu dyKX6uUAatMR+SMoCkIcJnQL6/HYJ/2H9br9RRBkQDgTRQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-vs1-f52.google.com) smtp.remote-ip=209.85.217.52; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1629255350; bh=jintT9QgI1cu/dJRl+j5GBlFCiZuEvVq0GlHj5P0NVk=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:References: In-Reply-To:MIME-Version:DKIM-Signature:DKIM-Signature; b=InXvubqLkW+fUcT1P51n12ja5BiKGXxYTZi5Pow12Om2WKRO/tufDMpPIcT3xsJJ3XEk5qHNGl X4+nAWStdcLI0tJkYKVcuTVQbEepYGB0DEZfcs65ikdWoy4si/koPwYOZEOMjDThS++foJgtp3 ig88JgiVxTqH8XEKelpHnkF5HTFvjTFoZs6hmdbziA1y1dASETV6rhkvRrtRulSX9cDhq0JiNi l6pFDQB2CvpPzLdH71pZS81vALT9FIAex4b2oSpktiSfML/KP2vkxemeewIJNcok73SGdUxQdu eS0tK8tTuoapcSx+/lH1wKX61hjmi2iBb69MKve7vShyNw==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:References:In-Reply-To:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=pWnFzYlu1QNrYlfAFDEkn8w2avr1jcSRp5w/Z5Ths9I=; b=SFXRQXb6ZHO1H1p5mxSBtbEAOm kiA62Se3JjQE0hmCstuRFOZ7IPry70iRAl/u6pI5DI6pUQh08UsUMYP/pWMpN6rybW/DV/xya/eQz N3XNyDunwd34Bz20La0Jpqp7Ae9mBCoG6eA9wKUjT5ovG3TqeB0xbIg8loFoKOhk6M6knlZQDbSAR zV7vxB84aXN13ydnDVqoqTKkmOnoHITXysrxzjy0sypYJ8KpNpJbft1R6681vYC/CljnjYaV70Wpd 5B31pQmMIyJ8fjleL3Fg/tRldnnwX6ahsTVHxKofmnjhBM6Y3QjxOah4dI1uSzdQNdy5rbC3qY8/I m0mWoTEQ==; Received: from authenticated user by zero.zsh.org with local id 1mGBk5-000LOQ-Ge; Wed, 18 Aug 2021 02:55:49 +0000 Authentication-Results: zsh.org; iprev=pass (mail-vs1-f52.google.com) smtp.remote-ip=209.85.217.52; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-vs1-f52.google.com ([209.85.217.52]:36642) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1mGBjP-000Kh6-R6; Wed, 18 Aug 2021 02:55:08 +0000 Received: by mail-vs1-f52.google.com with SMTP id a201so875624vsd.3 for ; Tue, 17 Aug 2021 19:55:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=pWnFzYlu1QNrYlfAFDEkn8w2avr1jcSRp5w/Z5Ths9I=; b=RnOgp6WLSxBS35k/zu/zXtwUFcYIEDrl46K34M1C7sIId9DCnYy0HvWVyvkuwWpXdI oKkpdGaUt7S8Uiy/lKiniZ5uYb7kBIvF5rBfHiSMmO2K4FpWo9D7BZfEkl8rdACPO3KV NxZRLTYwhl59+D4hdKuDDwBzl1ZI4Fn1XNjyna8yxS/yaOEEIfESXg69DDDvz+dCuuiD cNsGU5K8FHkHLtO2awJUQSAIm+CLwZR2goa0lRN0XALovahgbgd1grSAsoId2AQta1xv DgObw0zDRBIqalvN/ddO8rGQg9LmUNciHSUPbWhEoSYUrErDvVVJHN/k5ukBUlkdjvem RxgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=pWnFzYlu1QNrYlfAFDEkn8w2avr1jcSRp5w/Z5Ths9I=; b=ljeSrKf5zo1+HaujGieSXDuKFLBsiBhJj5cllg7TE7Y0TVJPWK0IvviaFU0Vi5uEAX MOMA4Q5yrjGc4tPMrFgmLTS2Li0FrZkQQHTreO/sUF9AzQbqO4Isj+lyCZjgYCyCCrlA furvzBQg2t3Y/UHnEUFrFIwxUqJFMKYKpkHE+zfy8Dh7byavlt96CHHaWofg0w0Q3b3d WSt7HdxCHWhxnBsoexFLS5s4p08fb88m9NhRpD7D+X4QwxQ0IbxbYCZzKZYos55lXdQN pv0sll/sdlXiRHOw0V9BuYWPe5oR6Rg5Vr+iT2ZW5EfEg9sJhxW4TftNs9WZMSdS7V+l Zg1A== X-Gm-Message-State: AOAM533QE6kddxGMC6GqybIFhpRwU9ovcBbD9eTdKwfgCkPZgXmPal1J LGGBlO4Unz71EXWckmfKPF9XCShlWdUMQ+TE3HM= X-Google-Smtp-Source: ABdhPJzF230YxcE9JtSWwfYUTbOg71ObT5uhJKuxT9Ob96THqKWC75RRyaaNjN3aIV7a0pSzXkCtXxOAk1tljtCdY7k= X-Received: by 2002:a05:6102:ac6:: with SMTP id m6mr5637452vsh.55.1629255306647; Tue, 17 Aug 2021 19:55:06 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:ab0:1508:0:0:0:0:0 with HTTP; Tue, 17 Aug 2021 19:55:05 -0700 (PDT) In-Reply-To: References: From: Mikael Magnusson Date: Wed, 18 Aug 2021 04:55:05 +0200 Message-ID: Subject: Re: Silly question on :h and = expansion To: Bart Schaefer Cc: Zach Riggle , Roman Neuhauser , Zsh Users Content-Type: text/plain; charset="UTF-8" X-Seq: 26945 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: On 8/18/21, Bart Schaefer wrote: > On Tue, Aug 17, 2021 at 4:27 PM Zach Riggle wrote: >> >> Awesome!!! These are all wonderful. "=foo(:h)" is the most concise >> way I see, and fits with my style. > > It might be worth noting: That formulation only works in contexts > where globbing is done, so not e.g. in conditionals. > > % [[ -f =zsh ]] && echo yes > yes > % [[ -d =zsh(:h) ]] && echo yes || echo no > no > % [[ -d ${${:-=zsh}:h} ]] && echo yes || echo no > yes You can use this form to enable globbing in conditionals, % [[ -d =zsh(#q:h) ]] && echo yes || echo no yes but using = in conditionals is not very useful anyway since when it fails it aborts, rather than returning an error (and (N) doesn't suppress it since it's not a glob), % [[ -f =bloo ]] || echo no zsh: bloo not found! -- Mikael Magnusson