What’s the difference between bash and default terminal

I am very very new to Linux, and when I’m installing anaconda, I noticed that the conda command can only be used after I type “bash” and start using the bash console. What’s the difference between bash and the default terminal?

Welcome to the forum!

First of all, you’re asking the question wrongly. bash is not a terminal but a UNIX shell, i.e. a command interpreter and an interpreter for shell scripts.

The default command interpreter in all three of the official Manjaro editions — i.e. the Plasma edition, the GNOME edition and the XFCE edition — is zsh for graphical terminal emulators; the main system shell underneath and outside of the graphical environment is still bash.

Community editions and spins may still be using bash in their graphical environments — this I do not know — but it is either way up to the respective maintainer of those community editions and spins to decide, since they are not official Manjaro editions.

The terminal is simply the graphical window or the physical console through which one interacts with the shell, and even with the graphical user interface itself.

Now, getting back to your question, you did not provide any details on account of what happens when you’re trying to start conda from the terminal’s command prompt, whichever prompt that is, but conda is an executable file, and as such, I suspect that the directory containing it is not in the shell’s $PATH variable in the default zsh setup, while conversely it would be in the environment of bash.

There are two ways of remedying this. Either you add the directory where the conda executable is installed to the $PATH for zsh, or you type the full path to where conda lives as part of the command by which you start conda, like so… :arrow_down:

/some_dir/some_other_dir/conda

… instead of just typing conda.

Lastly, if you’re new to GNU/Linuv, then don’t try running before you can walk. First learn about the operating system itself before thinking about doing anything in/with Python. The following useful literature may help you on your way… :arrow_down:

2 Likes

A third option (after you have read Aragorn’s helpful links):

bash -c "conda init zsh"

Taken from:
https://docs.anaconda.com/anaconda/user-guide/troubleshooting/#id68

The regular install script makes some changes to .bashrc so that conda is recognized in bash. The above command should make similar changes to .zshrc and zsh.

Software, like xfce4-terminal or konsole, are emulating a terminal, which provides a way for the user to enter commands and receive output from the kernel via a shell program. Bash is a shell that reads the command line, parses it and make system calls to the kernel. The kernel is linux. Emulating a terminal, think old days of a physical keyboard and display :slight_smile:

Historically bash has been the shell on a linux distribution. But you will hear about zsh, fish, etc. I have always used bash and it was the default at the time I installed Manjaro. I do not know what the default is now for Xfce. I couldn’t confirm viewing the sources at gitlab.manjaro.org. :frowning:

echo $SHELL

Bash Reference Manual and also type man bash.

This is a cool article written by the maintainer of bash. The Architecture of Open Source Application - The Bourne-Again Shell by Chet Ramey. It is more advanced, but just glancing at the Intro and Conclusion might help.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.