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,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 10545 invoked from network); 27 Oct 2022 23:21:51 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 27 Oct 2022 23:21:51 -0000 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-Transfer-Encoding: Content-Type:Subject:Cc:To:From:Date:References:In-Reply-To:Message-Id: Mime-Version:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=MQn4lm4MEJ9Y1tGMwX+6PiN405DvkgNaYHc4ICyhTYo=; b=IjeI0kq0MGBmprTc8kakZyFawc /t6LcPbqwy5ECtEF6o0myNZyMuu0A3RMCoKcmacV0xPhMaKbtwS8pHMvVf6tPHjSpxw9l3hA9U8l6 e7Gd/XBQJDCgdGnl2/PFt6ew5R3HFRQ7bGmfm8HTFP9WFit67KdepW89jihIFJlC+qt6w5ulgOB5o P31Dr9YrDnslwm6TICPtH+Gsv+LB0uXJOr4PlEp4T2wwZQhAzYepcyjTrLgCQe436rgYWBUEJhtlX LbYLpajvqALOPnOKPGXMXakrJ12dH3T9f4a8Z2aqqyjLQAxitc2SVavd1FthYZUrZVTrU3Rf3rtw2 DAsNztfg==; Received: by zero.zsh.org with local id 1ooCC5-000KQz-VX; Thu, 27 Oct 2022 23:21:49 +0000 Received: by zero.zsh.org with esmtpsa (TLS1.3:TLS_AES_256_GCM_SHA384:256) id 1ooCBR-000Jlf-Eh; Thu, 27 Oct 2022 23:21:09 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailauth.nyi.internal (Postfix) with ESMTP id 5A34627C0054; Thu, 27 Oct 2022 19:21:06 -0400 (EDT) Received: from imap48 ([10.202.2.98]) by compute2.internal (MEProxy); Thu, 27 Oct 2022 19:21:06 -0400 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrtdehgddvudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvvefutgfgsehtqhertderreejnecuhfhrohhmpefnrgif rhgvnhgtvgcugggvlhojiihquhgviicuoehlrghrrhihvhesiihshhdrohhrgheqnecugg ftrfgrthhtvghrnhepheegieduieegvddvffdvgeefuddugfetvdettddtfedutdejvefg jefgveethedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homheplhgrrhhrhihvodhmvghsmhhtphgruhhthhhpvghrshhonhgrlhhithihqdduudeh udekjeejtdegqdduudelvdejfeekhedqlhgrrhhrhihvpeepiihshhdrohhrghesfhgrsh htmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: iaa214773:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 2373131A0062; Thu, 27 Oct 2022 19:21:06 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-1087-g968661d8e1-fm-20221021.001-g968661d8 Mime-Version: 1.0 Message-Id: <05b5bf81-267e-46ba-9be4-2aacb57bc0bb@app.fastmail.com> In-Reply-To: References: <22b55ee0-ab85-1352-87a7-32dde5c7678d@eastlink.ca> <05065e8d-8bf7-4ca2-b89d-1151348cb30d@app.fastmail.com> Date: Thu, 27 Oct 2022 19:19:48 -0400 From: =?UTF-8?Q?Lawrence_Vel=C3=A1zquez?= To: "Ray Andrews" Cc: zsh-users@zsh.org Subject: Re: glob executable vs. non executable Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Seq: 28282 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 Thu, Oct 27, 2022, at 5:44 PM, Ray Andrews wrote: > On 2022-10-27 13:02, Lawrence Vel=C3=A1zquez wrote: >> Strictly speaking, you could use a comma to separate the "*" and >> "@" qualifiers; this denotes a logical disjunction. (Juxtaposition >> indicates a conjunction.) >> >> all_unx=3D( (#i)${~1}(N*,@) ) >> > Very good.=C2=A0 I couldn't find any documentation on that. See zshexpn(1), in the paragraph immediately following the list of glob qualifiers. It is admittedly easy to overlook. More than one of these lists can be combined, separated by commas. The whole list matches if at least one of the sublists matches (they are 'or'ed, the qualifiers in the sublists are 'and'ed). Some qualifiers, however, affect all matches generated, independent of the sublist in which they are given. These are the qualifiers 'M', 'T', 'N', 'D', 'n', 'o', 'O' and the subscripts given in brackets ('[...]'). >> However, as I said earlier, it is not useful to consider symbolic >> links "executable" > > In my head the word might be 'actionable'.=C2=A0 Type some word at the= prompt=20 > and press ENTER and sometimes something happens. By this definition, every possible command name is "actionable". After all, *something* always happens. > What I'm trying to=20 > nail down is all the possibilities and what sorts of species they can=20 > be.=C2=A0 In that frame of mind, a symlink is actionable so I consider= it in=20 > the same category as any other actionable word. A symlink is not inherently more "actionable" than a regular file that does not have executable permissions. The target is what's important, not the symlink. % ln -s /bin/date link_a % ln -s /etc/passwd link_b % ./link_a Thu Oct 27 18:32:17 EDT 2022 % ./link_b zsh: permission denied: ./link_b As I said in my last message, the "-" glob qualifier allows you to include or exclude symlinks based on their targets' attributes. There is no reason to blindly lump all symlinks together, when you can easily pick out the ones that actually matter. > Thanks Lawrence, you guys are so informative.=C2=A0 Learning zsh by my= self=20 > would be next to impossible. No worries. --=20 vq