From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29079 invoked by alias); 16 May 2012 11:48:36 -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: 17086 Received: (qmail 27361 invoked from network); 16 May 2012 11:48: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=-2.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,T_DKIM_INVALID,T_TO_NO_BRKTS_FREEMAIL autolearn=ham version=3.3.2 Received-SPF: pass (ns1.primenet.com.au: SPF record at spf.messagingengine.com designates 66.111.4.25 as permitted sender) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=yepmail.net; h= message-id:from:to:mime-version:content-transfer-encoding :content-type:subject:date; s=mesmtp; bh=4lBKEP5s8DlJOKYlXyFKIj8 TBZ4=; b=GQZIk4E4b20wcGoSXa3+K8LX6Pk5QmY3RmD8hYP8dA49BDD55unugKN KC66vryyZfpJSKDgqlBwy0dK9c37hMAWc5Td/sz8p4/2gbPGKSX0Tii7dEeZf4lL qZ6noctvz7gLlABnso7FjtVVoTS0PMR6eIEgfn+4zkYGWhQpKTpY= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:from:to:mime-version :content-transfer-encoding:content-type:subject:date; s=smtpout; bh=4lBKEP5s8DlJOKYlXyFKIj8TBZ4=; b=NDIbvpPK0k2f7tOt5jHVSqfJ1Pkz +U1oYdyOz+29yihtbF1e/YtYkSepqgDsDvVQ1Qk6SkLBxGsQZeQ578hzEo8v+MeE 6lWoADcQ8lfScTAHDP2ASUyhWECvH27zo8AO1EiTgw16oya8j99mwCbXsz5kdWOk mnHFYQl5sz3+tic= Message-Id: <1337168478.11045.140661076254845.3C1423DA@webmail.messagingengine.com> X-Sasl-Enc: iVi4Wk69rBYmNV4ojSWJIzhGqo24LLXoHB1vSrCzAyjg 1337168478 From: Ronald of Steiermark To: zsh-users@zsh.org MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain X-Mailer: MessagingEngine.com Webmail Interface Subject: global aliases substituting *within* a path Date: Wed, 16 May 2012 13:41:18 +0200 I have a set of directory structures like this: aaa/foo/bar/baz/xxx bbb/foo/bar/baz/yyy ccc/foo/bar/baz/zzz etc. I'm looking for a way to make typing easier on the command line, in order to not have to type foo/bar/baz all the time. Of course I can achieve this by setting a shell variable in my .zshrc: X=foo/bar/baz Then I can do for instance ls aaa/$X/xxx Now I recently learned about global aliases, which permit alias substitution to be done within the command line, and I thought that I maybe could use this. Here was my (failed) attempt: alias -g X=foo/bar/baz # Does NOT work at hoped ls aaa/X/xxx X is not substituted, because it is not a word on its own (not surrounded by spaces). My question: For my problem, do I have to stick with my original solution (shell variable), or is it a way to do it with aliases, or is there maybe an even more clever way to achieve my goal? Ronald -- Ronald Fischer There are 10 types of people in the world: those who understand binary and those who don't.