zsh-users
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: Ray Andrews <rayandrews@eastlink.ca>
Cc: Zsh Users <zsh-users@zsh.org>
Subject: Re: Best practices for managing aliases in ohmyzsh?
Date: Tue, 31 Aug 2021 20:01:18 -0700	[thread overview]
Message-ID: <CAH+w=7bKVEo5ko6ARuUyC10AwF0TWBfiqFFBa8q1dEHTdC58-A@mail.gmail.com> (raw)
In-Reply-To: <29064969-76d0-48a1-cb4a-719a9acaab29@eastlink.ca>

On Tue, Aug 31, 2021 at 7:33 PM Ray Andrews <rayandrews@eastlink.ca> wrote:
>
> Yikes, I'm missing something fundamental.  In my head, executing a
> script is identical to sourcing it.  It's not a binary, so what else can
> there be than interpreting the file?

The file typically names the interpreter that will understand it.
That's the point of the shebang (#!) line at the top of the file.

Thus you can have zsh scripts, bash scripts, perl scripts, python
scripts, etc. and the shell (or some other program) that wants to run
the script doesn't have to be the same one that understands the
scripts.  It just says "execute this" and the operating system looks
at the #! and starts up (a new invocation of) the correct program.
That new copy "sources" the file.

The context of the discussion has been (1) how to zsh interactively
but run scripts written for bash, without having to convert them, and
(2) how to make all those scripts accessible to zsh without having to
predefine them somehow in .zshrc.  The answer is to make them
executable and put bash in the #! line, so that bash continues to be
what runs them.  That works as long as what the script does, does not
need to persist in the interactive zsh (see "new invocation" above).


  reply	other threads:[~2021-09-01  3:02 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-30 18:13 Steve Dondley
2021-08-30 22:27 ` Ray Andrews
2021-08-30 23:22   ` Steve Dondley
2021-08-30 23:34     ` Ray Andrews
2021-08-31  1:44       ` Steve Dondley
2021-08-31  0:14     ` Lawrence Velázquez
2021-08-31  1:29       ` Steve Dondley
2021-08-31  8:26     ` Roman Perepelitsa
2021-08-31 15:51       ` Steve Dondley
2021-08-31 17:57         ` Roman Perepelitsa
2021-08-31 18:54           ` Bart Schaefer
2021-08-31 21:22           ` Steve Dondley
2021-08-31 21:36             ` Roman Perepelitsa
2021-08-31 21:43               ` Steve Dondley
2021-08-31 21:44             ` Roman Perepelitsa
2021-09-01  0:12           ` Ray Andrews
2021-09-01  0:28             ` Bart Schaefer
2021-09-01  2:33               ` Ray Andrews
2021-09-01  3:01                 ` Bart Schaefer [this message]
2021-09-01 14:20                   ` Daniel Shahaf
2021-09-01 15:58                   ` Ray Andrews
2021-09-01 18:22                     ` Lawrence Velázquez
2021-09-01 19:11                       ` Ray Andrews
2021-09-01 19:16                         ` Bart Schaefer
2021-09-01 19:56                           ` Ray Andrews
2021-09-01 20:03                             ` Bart Schaefer
2021-09-01 20:52                               ` Steve Dondley
2021-09-01 21:06                                 ` Ray Andrews
2021-09-01 22:06                                   ` Steve Dondley
2021-09-01 20:53                               ` Lawrence Velázquez
2021-09-01 21:11                                 ` zeurkous
2021-09-01 21:19                                   ` Bart Schaefer
2021-09-01 21:29                                     ` Lawrence Velázquez
2021-09-01 21:23                                 ` Ray Andrews
2021-09-01 21:05                               ` Ray Andrews
2021-09-01  3:19                 ` Steve Dondley
2021-09-01  3:30                   ` Bart Schaefer
2021-09-01  3:27                 ` Lawrence Velázquez
2021-09-01 16:20                   ` Ray Andrews
2021-09-01 18:34                     ` Lawrence Velázquez
2021-09-01 19:19                       ` Ray Andrews
2021-08-31  8:06 ` Anssi Saari
2021-08-31 15:45   ` Steve Dondley
2021-08-31 16:24 ` zzapper
2021-08-31 16:47   ` Steve Dondley
2021-08-31 17:20     ` Steve Dondley
2021-08-31 17:26     ` Bart Schaefer
2021-08-31 17:40       ` Steve Dondley
2021-08-31 17:47       ` Steve Dondley
2021-08-31 18:31         ` Ray Andrews
2021-08-31 18:59         ` Lawrence Velázquez
2021-09-01  6:40 ` Michael Klemm
2021-09-01 22:13   ` Steve Dondley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAH+w=7bKVEo5ko6ARuUyC10AwF0TWBfiqFFBa8q1dEHTdC58-A@mail.gmail.com' \
    --to=schaefer@brasslantern.com \
    --cc=rayandrews@eastlink.ca \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).