Bash shell via Git Bash or WSL in Windows

  • Thread starter Thread starter fog37
  • Start date Start date
AI Thread Summary
Windows features two native shells: CMD and PowerShell, which serve as interfaces for interacting with the operating system's shell. While both have similar command structures, they are distinct in their functionalities. Windows does not natively include the Bash shell, commonly found in Mac and Linux systems. However, users can access Bash on Windows through the Windows Subsystem for Linux (WSL) or by installing Git, which provides Git Bash.Git Bash operates as a standalone program, opening its own terminal window separate from CMD and PowerShell, and allows users to execute many Unix Bash commands. In contrast, WSL enables a more integrated experience, allowing Linux programs to run on Windows without being a full virtual machine, although WSL2 does function as a lightweight virtual machine. WSL is generally more versatile than Git Bash, particularly for running Linux applications, while Git Bash is limited to command-line operations.
fog37
Messages
1,566
Reaction score
108
Hello,
I understand that, in Windows, there are two native shells which are the programs CMD and Powershell. An operating system has a kernel and a shell and CMD and Powershell are shell programs, i.e. programs to interact with the shell. These programs have their own similar but different language (the commands are not all the same). Both CMD and Powershell run inside the terminal, which is another program.

There are many text-based shell which are all command-line programs to interact with the shell of the operating system...Natively, Windows does not have the bash shell (which is instead available in Mac or Linux). However, it seem possible to have access to the bash shell if we either install WSL (Windows Subsystem Linux) or download Git, which automatically come with the Git bash....

My understanding is that Git bash allow us to use the bash shell in Windows, correct? Doe the Git bash run inside the same terminal as CMD and Powershell? I would think so...

How does the Git bash compare with WSL which also make the bash shell available to Windows user? WSL is not a Linux virtual machine but it apparently allows programs that are meant for Linux to run in Windows (same as Wine which Windows programs to run in Linux)?
For example, Docker expects Linux so to run Docker in Windows we need to install WSL...Or is it WSL2 (which is a actual Linux virtual machine) which is different from WSL1? Not sure what WSL1 really is if it is not an Linux emulator.

Thank you!
 
Technology news on Phys.org
On all the installations of GIT bash I have used, it is a stand-alone program. When you run it, it opens a dedicated terminal window into which you can type commends and see console output. It does not use either CMD or Powershell.

The GIT bash shell allows you to use most (not all) Unix Bash commands.

I have not used WSL but from your description it sounds like it does much more than GIT bash. I have not heard of people using GIT bash to run programs designed for Linux on a Windows machine.

Here is a picture of my GIT bash terminal window

1707451758687.png
 

Attachments

  • 1707451588910.png
    1707451588910.png
    26.5 KB · Views: 99
  • Like
Likes fog37 and FactChecker
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
hi; i purchased 3 of these, AZDelivery 3 x AZ-MEGA2560-Board Bundle with Prototype Shield and each is reporting the error message below. I have triple checked every aspect of the set up and all seems in order, cable devices port, board reburn bootloader et al . I have substituted an arduino uno and it works fine; could you help please Thanks Martyn 'avrdude: ser_open(): can't set com-state for "\\.\COM3"avrdude: ser_drain(): read error: The handle is invalid.avrdude: ser_send(): write...
Back
Top