-- Leo's gemini proxy

-- Connecting to thrig.me:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

Builtin Commands


A somewhat common claim is that "Z is a bash command", presumably because Z can be called from bash. For example, "sed is a bash command". At worst, this implies some sort of ownership or hierarchy that does not exist.


    $ which sed
    /usr/bin/sed
    $ bash
    ksh: bash: not found

How can sed be a bash command if bash is not installed on the system? (sed may also not be installed; the system is therefore not POSIX compliant. It is probably best to check such things, rather than to assume that a particular command exists and that the command behaves in particular ways.)


A historian might point to another problem,


    HISTORY
         A sed command first appeared outside of Bell Labs in PWB/UNIX
         1.0. It was replaced in 4.4BSD.

and with some more legwork one might find claims that sed dates to 1974 and bash 1989; how something that is supposedly a bash command can exist for 15 years prior to bash being inflicted on the world is left as an exercise to the reader.


The claimant may retreat to a weaker claim, that sed can be run from bash. If so, is bash a perl command? Because bash can be run from perl,


    $ perl -e 'system("bash") == 0 or die "nope: $!\n"'

or anything that can execute another command, which is a fair number of programs on a given unixlike. So that's not saying much, if anything.


Statement of Origin


Consider "sed, as shipped with OpenBSD 7.2", or "Fedora Linux awk". The sed is thus (probably) a BSD sed, and the awk most likely GNU awk, and we can find the documentation and source code for these, or with a little more work determine if that Fedora Linux awk is actually system-provided or instead is a special version living under /usr/local/bin or elsewhere.


Given "sed, a bash command", what can be derived?


Programming Problem


"I want bash code that ..." may not actually be asking for bash code, given the confusion outlined above. A pure bash solution might be terrible, for instance anything involving looping with while, compared to using sed or whatever called from /bin/sh or whatever.


tags #bash #ksh #sed #perl

-- Response ended

-- Page fetched on Tue May 21 10:53:46 2024