Unlike ed(1), which is great, moe(1) of GNU info(1) infamy is watery and
uninteresting. info(1) is a bad man(1).
Descending a few lines of gopher.club, jebug29 has bash scripts for going
directly to a gopher, whatever this means, screenshotting, and unread mail
notifications. I'm not going to install bash and I suspect bash scripts are
not going to be portable to ksh, but if they are I will take a look.
jynx, has a bash gopher client (bash again?)
christyotwisty has a recipe named Keto-Coffee-Chipotle-BBQ-Sauce
screwtape has said that he's publishing an i2p page this week on top of
everything else
cside has the bbc gopher mirrorer - oh, source isn't up for this
szcezuja has written some bash scripts
Alright, where is all this bash coming from, and why? My sdf netbsd has ksh,
and I also have ksh on openbsd. I guess gentoo's default shell is bash. A
shell is a program that primarily fork(2)s and exec(3)s. They are
significant in that when an operating system starts, other arrangements
notwithstanding a user is dropped into a shell whence they can fork and exec
programs for whatever they were hoping to actually do on the computer.
Shells have over the years collected detritus for doing tasks without
actually forking and execing another program, notably csh, tcsh, ksh and
Borne again shell and a bevy of trendy ones and not to mention rc.
I don't think that non-portable advanced shell usage is ever warranted. For
starters, we have system(3) or something like popen(3) such that you can
write a normal/trivial C program and use system to pass commands to the
shell which has forked and execed the C program. So it's not like we are
missing a capacity to program and should hence add programming language
features to a shell.
Common lisps generally implement a #'run-program extension like
(ext:run-program "nc" '("-l" "localhost" "4242"))
which generally return (values return-code two-way-stream external-process).
This is a bit more sophisticated. This has been stable for a long time; I
probably needn't remind you of python's reworkings through the 3.Xs.
While I am grousing, I also don't think there is a place for more powerful
shell scripting languages such as perl or python. There simply is no reason
to ever go there (openbsd obviously uses perl for its utilities, and Gentoo
is basically synonymous with using python). I am tempted to say awk is
probably an exception to my criticisms because it might not be trivial to
write the conventional program that does what awk does, but I don't use awk
and am skeptical of what I am typing here.
Vi and emacs both can spawn/make use of additional shells whether vi's
:sh/:shell..exit (I guess ex's) that puts you in a new shell outside vi, or
vi's !!pwd which would drop the results of pwd at the cursor, which imitates
ed's !pwd which will pass through and print whatever shell command (pwd in
this case).
Emacs shell buffers with M-x shell, which can be named C-u M-x shell
*my-35th-emacs-shell* <ret>. Emacs also has M-x term which puts you in a
more terminal-like (less dumb, but further from emacs) shell. There is also
M-x eshell which splices your default shell with also interpreting elisp,
which I guess makes sense for the sufficiently emacs-enthusiastic.
Notwithstanding org-mode ob-shell.
I am afraid I became a bit waspish. I was sad because I expect I won't be
able to do anything with those bash projects.