-- Leo's gemini proxy

-- Connecting to ew.srht.site:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

2022-08-04

Re: Misadventures with bash shell

tags: software


Stacksmith has headaches with bash:

> It seems completely nuts, acting completely different if you change a whitespace.

gemini://gemini.ctrl-c.club/~stack/gemlog/2022-08-01.bash.gmi

local copy


Your post made me smile!


I will admit that bash syntax has a lot of baggage from days long past, however, I am living in shells (sh, csh, tcsh, ksh, pdksh, bash) since like 1990 pretty much every day. I use bash as a glue language, because it is always there. I have tried zsh about 20 minutes, but it got in my way fast. I will say that a command shell without pipelines is useless in my not so humble opinion. But I do still learn. A thing I added only recently ist the use of __git_ps1 in my shell prompt.


PS1='\u@\h:\w$(__git_ps1)\n\$ '

To me python and C++ look completely incomprehensible. I learned perl4 and perl5 and C way back. I also learned some Forth, where the only syntax is this:

> Tokens (called words) are separated by one or more spaces.

That's it. And yes ':' and ';' or '+' are valid tokens calling their associated code.


So to me it is just the other way round. In shell scripts I can spot a spurious space or quote quite fast. And since I can rely on bash being installed everywhere I have to work, I do use bashisms like associative arrays (think hash tables) and a lot of the ${var#/%}-edit something modifiers, or <(process substitution) and the like. By the way: I keep shellcheck running via flycheck in my emacs buffers, but it cannot always get "it" right :) I recently came across a line, where shellcheck demanded quotes, that would brake the script. The details are not important, but yes, these cases exist.


Stacksmith:

> I wish there was a compact Common Lisp shell.


Not all hope is lost: scheme shell good enough?

https://www.linux.com/news/scripting-scheme-shell/

https://scsh.net/


Happy hacking!



Home

-- Response ended

-- Page fetched on Thu Apr 25 05:14:07 2024