So I'm filling out an application for a new job and you get asked for experience of different programming languages and then there is this box at the bottom other experiences - I started typing python 2.7, powershell, bas... Wait! bash isn't a programming language - it's a console that can execute shell scripts... so... eh.... oh my god I have no idea!
According to man bash, Bash is a "sh-compatible command language". Then, we can say a "command language" is "a programming language through which a user communicates with the operating system or an application".
The problem with Bash, shells in general is, that it lacks a lot of base functionality, thus when writing scripts for them, you often in fact call external programs to perform the desired work. But that's only taking a shortcut. E.g. if you'd need floating point functionality in a shell, you could actually implement it. It would be possible to write a full IEEE 754 standard implementation in everything that is Turing-complete. In practice such an implementation would be huge, require tons of memory and be horribly slow, so one better calls bc for that. But even implementing bc entirely in bash would be possible.
Here's a bash script I've once written that draws a Mandelbrot set to console. You better be prepared to get some cups of coffee if you want to see the final result, it's going to be a very long night:
About Turing consideration, yes, you could... I personally wrote a lot of libraries around bash (around monitoring, backups, sysadmin, networking, etc.), but clearly for writing a program,you have to use a real programming language.
The bash uploader detects all CI providers through environment variables. This process helps to identify the source of the build and maintain a relationship back to the source of the coverage collection.
I have now tried this with Sublime Text 4. Julia is run in Terminus, and ST is started in the git bash.
With 1.5.1 and 1.5.2, shell commands are fine; with 1.5.3 shell commands mess up the Julia prompt.
1.6 is again fine.
Bash is theGNUProject's Bourne Again SHell, a complete implementation of theIEEE POSIX and Open Group shell specificationwith interactive command line editing, job control onarchitectures that support it, csh-like features such as historysubstitution and brace expansion, and a slew of other features. Here is ashort list of some of the features available in bash.For more information on the features of Bash that are new to thistype of shell, see the reference manual.There is also a large Unix-styleman page.The man page is the definitive description of the shell's features. Bash is free software, distributed under the terms of theGNU General Public License,version 3.A number of frequently-asked questions are answered in theFAQ, though that is no longer maintained.Current StatusThe current version of bash isbash-5.2.(GPG signature).A downloadable tar file of the current version with all official patches applied is available from theGNU git repository;the full tree ishere.A snapshot of the current development sources (generally updated weekly ormore often), is available from the GNU gitbash devel branch.See the README file for more information.The NEWS file tersely lists the new features inbash-5.2; a full set of changes is available in CHANGES.Source Code AvailabilityThe current version of bash is available fromftp.cwru.eduand from themaster GNU ftp siteand its many mirrors.The CWRU FTP site works best if your client supports Extended Passive(EPSV) mode.This distribution file includes formatted copies of the documentation.These files are signed with my GPG key.There are a number of files available for FTP fromftp.cwru.edu.Any patches for the current version are available fromCWRU andftp.gnu.org.A downloadable tar file of the current version with all official patches applied is available from theGNU git repository,anda snapshot of the current development sources (generally updated weeklyor more often),is also available from the GNUbash git devel branch.Previous Bash versions are available at is the standard shell onGNU/Linuxsystems, most of which are using bash-5.0 or bash-5.1(some still use bash-4.4).Bash-5.1 is included as part of theFreeBSDportscollection, theOpenBSDpackagescollection, and theNetBSDpackagescollection.The OpenPKG project makes sourceRPMs ofbash-5.1available for a variety of Unix and Linuxsystems as acorepart of thecurrent release.Current versions ofmacOS(dating from Jaguar/Mac OS X 10.2) ship with bash-3.2 as /bin/sh and /bin/bash.There are also precompiled macOS packages of bash-5.0available from many web sites, though the source packagesare usually more up-to-date.Bash for Darwin(the base for macOS) is available fromMacPorts,Homebrew,or older versions fromFink.Solaris 2.x and Solaris 7/8/9/10/11 users can get a precompiled version ofbash-4.4 from theUnixpackagessite (subscription) or bash-4.3 fromOpenCSW.Oracle ships bash-3.2 as a supported part ofSolaris 10andbash-5.1 as part ofSolaris 11.The version of Solaris/Illumos distributed asOpenIndiana includes bash-5.1as of January 2022 ("Hipster").AIX users can getsources and binaries of bash-5.0, and older versions,for various AIX releases fromperzl.org.IBM makes bash-5.1 (and older versions) available forAIX 5L through AIX 7.2 as part of theAIX toolbox for [GNU/]Linux applications.They use RPM format; you can get RPM for AIX from there, too.HP-UX users can get bash-5.1 binaries and source code from theSoftware Porting and Archive Center for HP-UX.(The current version as of this date isbash-5.1.16).It's even available on Minix.If you are running Windows, I recommend that you useCygwin, who currently shipbash-4.4.12for x86 andbash-4.4.12for x86_64.Microsoft offers itsWindows Subsystem for Linux (WSL)as an installable add-on for Windows 10 and Windows 11.It's basically a separatepackaged version of the Linux kernel that runs as a Windowsservice, and you can install various Linux distributions running bash-5.1(or build and install bash-5.2 yourself)within that environment.Other ResourcesA list ofFrequently-Asked-Questions with answers, though thisdocument is no longer maintained.The discussion listbu...@gnu.orgoften contains informationabout new ports of Bash, or discussions of new features or behaviorchanges that people would like. The mailing list is where bugs inbash are reported and fixes are posted.This mailing list is also availableas a Usenet newsgroup, gnu.bash.bug.Archives of bug-bash dating from December, 1999 are available fromlists.gnu.org.Google Groups has an archive ofgnu.bash.bug.General questions about bash and shell programming should be sent to the help...@gnu.orgmailing list. Its archives are also available fromlists.gnu.org.Some files from the current distribution may also be helpful.
I am currently using vim editor on Git Bash terminal running in a Windows machine, but I want to switch over to Emacs editor. It is returning bash: emacs: command not found . Do I need to install the Emacs? If true, what command do I use, and what could be the general soulution?