I remember seeing a tool years ago to help you ensure that shell scripts would run using as wide a variety of POSIX shells as possible.

I've forgotten what it was.

Can someone remind me?

#Linux #bash #shell #POSIX #posixCompliant

IDEs, UNIX, AND THE LEGACY WORKFLOW THAT NEVER WENT AWAY

Words of Wisdom are dispensed in the article

I have a workflow consisting of

  • screen
  • bash or one of
  • csh
  • ksh
  • zsh
  • vim or
  • vim.motif
  • function third(){ awk '{if (NR%3==0){print "\033[32m" $0 "\033[0m"} else{print}}'; }
  • function psgrep() { ps axuf | grep -v grep | grep "$@" -i --color=auto; }
  • function mkcd(){ [ ! -z "$1" ] && mkdir -p "$1" && cd "$_"; }
  • gcc
  • g++
  • asm
  • ln
  • go from golang
  • lsd
  • ncdu

These choices are deliberate. I want and demand the fastest programming ENV: which follow the UNIX principle & KISS

quotes

tl;dr*

Unix already solved many IDE problems decades ago using small cooperating tools instead of one large application.

  • bash
  • coreutils
  • less
  • tmux
  • nvialready form a complete and focused development environment for many Unix workflows.

The shell becomes the workspace, the terminal manages sessions, and the editor remains small and predictable

sources:

man sh(1)

man ls(1)

man coreutils(1)

man less(1)

man screen(1)

man tmux(1)

man vim(1)

https://www.gnu.org/software/screen/

https://repo.or.cz/code-notes.git/blob_plain/HEAD:/notes/Unix_As_An_IDE.txt

https://go.dev/doc/install

https://go.dev/doc/tutorial/getting-started

#programming #UNIX #gcc #g++ #asm #ln #golang #lsd #ncdu #ncurses #BSD #freeBSD #ghostBSD #openBSD #Linux #OpenSource #POSIX

Screen - GNU Project - Free Software Foundation

It's funny that I didn't think to create this shell script until now:
https://codeberg.org/rldane/scripts/src/branch/main/spongebob

I initially was trying to write it in #POSIX #shell without any external dependencies (for speed), but the lack of ${var^} and ${var,} mean HUGE case statements, but I could generate those in bash and paste them in, lol.

Then I came to the lack of ${var:i:1} for splitting variables, and I just kind of gave up.

I guess I could have munged some way of converting a string into an array somehow, but it was so much easier to just write it in 23 lines of bash. :P

scripts/spongebob at main

scripts - Some of my scripts that I wrote, which I use daily

Codeberg.org

Meteorology

Current weather in Palmentuin SR SA with forza magnifica of wttr.in & the grace beauty & colours of lolcat(6) 🏳️‍🌈 wttr curl(1) & {ba{c{k{z{fi}}}}}sh

Background photograph is a wonderful Mandelbrot /Julia set virtual island composed with Open Source tools nice -20 fractive nice -1 thunar {{see my fractal toots for specific parameters}}

log

$ curl --verbose wttr.in/palmentuin|lolcat
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Host wttr.in:80 was resolved.

  • IPv6: (none)
  • IPv4: 5.9.243.187
  • Trying 5.9.243.187:80...
  • Connected to wttr.in (5.9.243.187) port 80
  • using HTTP/1.x0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> GET /palmentuin HTTP/1.1> Host: wttr.in> User-Agent: curl/8.14.1> Accept: />
  • Request completely sent off< HTTP/1.1 200 OK< Access-Control-Allow-Origin: *< Cache-Control: public, max-age=600< Content-Type: text/plain; charset=utf-8< Date: Sat, 09 May 2026 13:18:12 GMT< Transfer-Encoding: chunked< { [2583 bytes data]100 9105 0 9105 0 0 18242 0 --:--:-- --:--:-- --:--:-- 18246
  • Connection #0 to host wttr.in left intact
    Weather report: palmentuin

    \ / Partly cloudy
    _ /"".-. +26(29) °C
    _( ). ← 10 km/h
    /(__(_) 10 km
    0.7 mm

Location: Palmentuin, Kleine Waterstraat, Rainville, Paramaribo, Suriname [5.8279231,-55.1499095]

Note:

Remember to always repeat the request with an interval of 12 then 64 secs when the server sends and empty response to curl, watch the LOG!

API

https://wttr.in

https://en.wikipedia.org/wiki/Bash_(Unix_shell)

https://gnu.org

https://directory.fsf.org/wiki/Bash

https://curl.se/

https://github.com/busyloop/lolcat

Z

#Weather #wttr #lolcat #curl #bash #csk #ksh #zsh #sh #fish #meteorology #environment #Physics #Chemistry #Mathematics #Lineair #algebra #technology #OpenSource #programming #POSIX

Meteorology

Current weather in Leonsberg SR SA with magnifico power of wttr.in & the passion grace beauty & colours of lolcat(6) 🏳️‍🌈 wttr curl(1) & {ba{c{k{z{fi}}}}}sh

Background photograph is the magenta Sunset at Waterkant scene composed with CIRC_POL {circular polarizer} FL {fluorescent} and UV {ultra violet} filters stacked using Nikon prime hardware

log

$ curl -v wttr.in/leonsberg_suriname|lolcat
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Host wttr.in:80 was resolved.

  • IPv6: (none)
  • IPv4: 5.9.243.187
  • Trying 5.9.243.187:80...
  • Connected to wttr.in (5.9.243.187) port 80
  • using HTTP/1.x> GET /leonsberg_suriname HTTP/1.1> Host: wttr.in> User-Agent: curl/8.14.1> Accept: />
  • Request completely sent off< HTTP/1.1 200 OK< Access-Control-Allow-Origin: *< Cache-Control: public, max-age=600< Content-Type: text/plain; charset=utf-8< Date: Sat, 09 May 2026 10:21:18 GMT< Transfer-Encoding: chunked< { [1195 bytes data]100 9080 0 9080 0 0 10526 0 --:--:-- --:--:-- --:--:-- 10521
  • Connection #0 to host wttr.in left intact
    Weather report: leonsberg_suriname

    \ / Partly cloudy
    _ /"".-. +23(26) °C
    _( ). ← 8 km/h
    /(__(_) 10 km
    0.2 mm

Location: Leonsberg, Blauwgrond, Suriname [5.8692506,-55.1026346]

Note:

Remember to repeat the request with an interval of 16 then 96 secs when the server sends and empty response to curl, watch the LOG!

API

https://en.wikipedia.org/wiki/Bash_(Unix_shell)

https://wttr.in

https://gnu.org

https://directory.fsf.org/wiki/Bash

https://curl.se/

https://github.com/busyloop/lolcat

Z

#Weather #wttr #lolcat #curl #bash #csk #ksh #zsh #sh #fish #meteorology #environment #Physics #Chemistry #Mathematics #Lineair #algebra #technology #OpenSource #programming #POSIX

Meteorology

Current weather in Palmentuin SR SA with forza magnifica de wttr.in & the grace beauty & colours of lolcat(6) 🏳️‍🌈 wttr curl(1) & {ba{c{k{z{fi}}}}}sh

Background composition is an advanced Mandelbrot Julia scenic field composed with complex Algebra in an Open Source fractal generator

log

$ curl --verbose wttr.in/palmentuin|lolcat
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Host wttr.in:80 was resolved.

  • IPv6: (none)
  • IPv4: 5.9.243.187
  • Trying 5.9.243.187:80...0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Connected to wttr.in (5.9.243.187) port 80
  • using HTTP/1.x> GET /palmentuin HTTP/1.1> Host: wttr.in> User-Agent: curl/8.14.1> Accept: />
  • Request completely sent off< HTTP/1.1 200 OK< Access-Control-Allow-Origin: *< Cache-Control: public, max-age=600< Content-Type: text/plain; charset=utf-8< Date: Thu, 07 May 2026 22:06:30 GMT< Transfer-Encoding: chunked< { [8067 bytes data]100 9028 0 9028 0 0 10904 0 --:--:-- --:--:-- --:--:-- 10903
  • Connection #0 to host wttr.in left intact
    Weather report: palmentuin

    \ / Clear
    .-. +29(35) °C
    ― ( ) ― ↙ 12 km/h
    `-’ 10 km
    / \ 0.0 mm

Location: Palmentuin, Kleine Waterstraat, Rainville, Paramaribo, Suriname [5.8279231,-55.1499095]

Note:

Remember to repeat the request with an interval of 9 then 54 secs when the server sends and empty response to curl, watch the LOG!

API

https://wttr.in

https://en.wikipedia.org/wiki/Bash_(Unix_shell)

https://gnu.org

https://directory.fsf.org/wiki/Bash

https://curl.se/

https://github.com/busyloop/lolcat

Z

#Weather #wttr #lolcat #curl #bash #csk #ksh #zsh #sh #fish #meteorology #environment #Physics #Chemistry #Mathematics #Lineair #algebra #technology #OpenSource #programming #POSIX

Meteorology

Current weather in Apetina SR SA with infinite power of wttr.in & the grace of lolcat(6) 🏳️‍🌈 wttr curl(1) & {ba{c{k{z{fi}}}}}sh

Background photograph is a Mandelbrot Julia scene composed with advanced Mathematics in fraqtive

log

$ curl --verbose wttr.in/apetina|lolcat
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Host wttr.in:80 was resolved.

  • IPv6: (none)
  • IPv4: 5.9.243.187
  • Trying 5.9.243.187:80...
  • Connected to wttr.in (5.9.243.187) port 80
  • using HTTP/1.x> GET /apetina HTTP/1.1> Host: wttr.in> User-Agent: curl/8.14.1> Accept: />
  • Request completely sent off< HTTP/1.1 200 OK< Access-Control-Allow-Origin: *< Cache-Control: public, max-age=600< Content-Type: text/plain; charset=utf-8< Date: Thu, 07 May 2026 17:11:25 GMT< Transfer-Encoding: chunked< { [2583 bytes data]100 8902 0 8902 0 0 9720 0 --:--:-- --:--:-- --:--:-- 9718
  • Connection #0 to host wttr.in left intactWeather report: apetina

`/"".-. Light rain shower
,_( ). +30(33) °C
/(() ↓ 8 km/h
‘ ‘ ‘ ‘ 10 km
‘ ‘ ‘ ‘ 0.4 mm

Location: Apetina, Tapanahony, Sipaliwini, Suriname [3.5110538,-55.0515685]

Note:

Always remember to repeat the request with an interval of 16 then 64 secs when the server sends and empty response to curl, watch the LOG!

API

https://wttr.in

https://en.wikipedia.org/wiki/Bash_(Unix_shell)

https://gnu.org

https://directory.fsf.org/wiki/Bash

https://curl.se/

https://github.com/busyloop/lolcat

Z

#Weather #wttr #lolcat #curl #bash #csk #ksh #zsh #sh #fish #meteorology #environment #Physics #Chemistry #Mathematics #Lineair #algebra #technology #OpenSource #programming #POSIX

sh games

cp -prva ~/gate/secret/files* /media/my_user_id/gate/public/deep/dive

works in the following sh:

  • bash
  • ksh
  • csh
  • zsh
  • tcsh
  • dash
  • ash
  • psh

#Programming #Bash #zsh #OpenSource #BSD #freeBSD #openBSD #netBSD #ghostBSD #Linux #Debian #mxLinux #MX #RPM #POSIX #ash