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.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 32637 invoked from network); 10 Aug 2021 20:45:50 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 10 Aug 2021 20:45:50 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1628628350; b=pXZ+TaPJ9m/lZM/XEyjQh+TI3iZiGR9BKfJHlruWjOiB5PU3AGaWOqCJdlRdMVD6/Q00lJIpc3 sOidH2rAIAEm5AxxAe+BfKcSUzCy98CBlsLFP/uaUTTv4deFQgLtQ9AuZrSGMqQGGyUz8ou8De 8m9ofOfpICUsbkwzerH1oLdBR0IahUk10hAFzGPiJ+LJiuHMBLbllNG3Tuob7JAFP2ZV5mxc9g HJ1MwuYT8+oe/+HAxrsL2DPltsqnfy9k0f7aPAR2iyDtgcUQxkbQMaW9A/ueFV86Z16501We1m qAzSysTB1LoyxLft50zvM8Iovo21lVhXtXVj4cX0J7jA2w==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-yb1-f172.google.com) smtp.remote-ip=209.85.219.172; dkim=pass header.d=brasslantern-com.20150623.gappssmtp.com header.s=20150623 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1628628350; bh=MNV1QB0iZx0UxEUJUhbQhEL9TRlCs4bMYNNSf0+I9R4=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:Content-Type:Cc:To:Subject: Message-ID:Date:From:In-Reply-To:References:MIME-Version:DKIM-Signature: DKIM-Signature; b=m67Pc2a/0Bc4vZ3+59gOSivAJLqzbXGQN12rBhBN9rawR5mJ4V5QByhvHVv3JMKlr4o4h03294 93accZZU1bCqJgkAkvBHLCHpZfMNjHwmvmJxwdiULvCHbCjYwTnrFg60L0CzPt/9OOStkZG2oP gB33YITfJIeu+5cidwyAHW66UDWH7T1E5pDFflfww32wPMkUPGgCfjCBOp71mx8dQVuj3oyh83 RIGsFu56jqBLw2uj+bTcgovz/o6mhQi8mTu7NofVNaSgRYy2jVzkgpI7DeE/cU0JNibQeVXs9Y pdLsU6sDqyGInYGl/P/9UacmPXAYhHCOeGj2TxlTZX9m3A==; 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:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References: MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=lr8OxRifbZQ6vvYM4rM7DThOpOjg/woYaCNWNT2RHXM=; b=aPz0pG8sx6SgGprbGgdMt14G5m lapdN1x2khMCit+6QqhLJFvTHfLIpLs4UMNAXnoScy1Y34ZECEo2y5t7Ki+LR0oa45mwsviG07kQa 7rDafBEuWpgFBWpL7DbZ64oitWluD2ilLYI/+Mj4lOOHjGq2Tk89O7rB5j5SjaQgIGU3ilNbNRwr0 IBJbmRVNeFS++EOLMPUbRw9+rrhoy+fQO7mpEUGUI9VkXQVCb8/Yru2v60nD0D7zH6T3K3527lNe+ anxFBTy8gROKQPgRpKX72oOMT+kP6nWi9s07nSRe+BZDundiaNsBmdFJtz4TsfbIFXhhmeAdk7S4K w4wwj66A==; Received: from authenticated user by zero.zsh.org with local id 1mDYdC-0000D3-Qj; Tue, 10 Aug 2021 20:45:50 +0000 Authentication-Results: zsh.org; iprev=pass (mail-yb1-f172.google.com) smtp.remote-ip=209.85.219.172; dkim=pass header.d=brasslantern-com.20150623.gappssmtp.com header.s=20150623 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-yb1-f172.google.com ([209.85.219.172]:42647) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1mDYcR-000PTm-LQ; Tue, 10 Aug 2021 20:45:04 +0000 Received: by mail-yb1-f172.google.com with SMTP id m193so147954ybf.9 for ; Tue, 10 Aug 2021 13:45:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=lr8OxRifbZQ6vvYM4rM7DThOpOjg/woYaCNWNT2RHXM=; b=ffODAlcp9erpv+Gd0/10ULFu6YGAk1/Hxa70md913wxz+yu5Tx2qOMRG0jXidQfqQz qblnUtpg04CJvrrkqYtON6rQcunShwwkVKJxfIMa9xKpdY9Dkdz/jhOzVHtXuI1JNLff dyYWtjyX/OTTltIDbpjh7t8lx89zkBMahjegSqhdSAa3Zvgyb9wsuMn5Rp3Le3oEgNZZ 4qoss771y9xjk0I/S1E18DgtcImbKWQWef1m2k+jrGxI6mTeBb0jN0tIdcnZ/GazE052 qjfvB/cFYQlcJt/1rTkUcRbr74ptlluvDJ4TulOTSHedHSE7PrNNlYm6w79PouvlflDU o4Sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=lr8OxRifbZQ6vvYM4rM7DThOpOjg/woYaCNWNT2RHXM=; b=TfKxG5xGDAZmEo6Nd+pKCwzEvPzcrF2EECSa6iyFSxcYiT6nAofPozhDSp7829Yt+b pt//iY6f/cgupM4b2tR1SRZIXb7wffEZMKq/DVkcTqcDC3RG0o9mTSA2Sp/wcl0crJc2 akJFSYKYA9/GIEEs52pYjVcrhw9IKwzydaZs/Y4QB4FwjYvWQ3jrz6Dmmp8UbPPL1gAz BQ8MFtGG2tQ7MGUqw5GvpKieN1hnKwiGwnyma0gD34y5OTTN/lRVdVIkLno+794rkLlW Y6U81R/EyUVeztONxCxzrXybLZJWSP6R8Pd6MgQkNMcnga7ZaJPU2zAml0fsRLFnepVM H4Kw== X-Gm-Message-State: AOAM531YAlQn9GoeaITDJurNPfx3t9OSGyKgKEjZmlIiI4uTLV8lKzo3 FnJy/iH/xoxIIuhBBP7xG7FxgapyDWTGE6ncr+MmVw== X-Google-Smtp-Source: ABdhPJzVzsZQid7lMnBk8H4FDnVW8IqmE69DUvc2kEnDuMFceZbpoyMacomBhamohqoT9cIHpqrddzhWqgSs8wOx4f0= X-Received: by 2002:a25:ae97:: with SMTP id b23mr31983102ybj.379.1628628302346; Tue, 10 Aug 2021 13:45:02 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Bart Schaefer Date: Tue, 10 Aug 2021 13:44:51 -0700 Message-ID: Subject: Re: Converting relative paths to full To: =?UTF-8?Q?G=C3=BCrkan?= Cc: Zsh Users Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Seq: 26900 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 Tue, Aug 10, 2021 at 12:53 PM G=C3=BCrkan wrote: > > I'm trying to create a function to catch relative paths of > files/directories and converting those to full paths The hard part is identifying what argument strings are meant to be interpreted as file names. Assuming you've done that, you can convert to an absolute path pretty easily. Suppose for example that you know $3 is a file name. 3=3D${3:P} See also :a and :A for slightly different interpretations of a fully elucidated file path. In cases where you have an argument like "--file=3Dname" you can do: 3=3D${3%=3D*}=3D${${3#*=3D}:P} If it's just "-fname" and you want a result like "-f$PWD/name" you're on your own ... there's no generic way to know which commands have that sort of argument format or which option letters introduce it.