No, what I meant is bash
and the theme for bash
that currently doesn’t exist in Manjaro repository.
And you cannot have 2 default shells per user.
No, what I meant is bash
and the theme for bash
that currently doesn’t exist in Manjaro repository.
And you cannot have 2 default shells per user.
I agreed with you. The rest of the argument I was making was separate from that agreement. What’s the issue?
Edit* Ah, semantics, I see. Perhaps I worded it poorly but it was in reference to [Proposal] Make Bash the default interactive shell again - #6 by cscs
Ok I understand now, I was confused with you saying 2 default shells
That’s an error on my side, I didn’t see the “:”.
The thing I don’t like about zsh is the context switch when moving into contaibers or servers that use bash. It’s far more easy to just have bash everywhere so that I don’t need to keep that in mind every time.
Minor inconvenience but still, you asked why we voted a certain way.
I have been preferring zsh for years - mainly because of the superior functions offered by various modules - especially git and history search and completion.
The argument of function handling in bash vs zsh is not a superior argument as any scripting should include a #! to tell the shell with interpreter to use.
So - in any support event - which calls for bash specific functionality
#!/usr/bin/env bash
bla(){
echo "bla"
}
Whether it is one or the other which is default becomes irrelevant.
If I recall correct Arch ISO has switched to use zsh a couple of years ago and as mentioned macOS uses zsh without issues.
I like zsh but I am also aware of the incompatible things. I used bash for a year because of the pkgfile
issue. For me, the benefit of zsh is mainly the plugins: zsh-autosuggestions zsh-syntax-highlighting
which can tell you whether you are typing the right command and giving you the latest or most common-used command. If there are similar plugins on bash I would use bash.
IMO: the incompatible things are not token by who is default, but any scripts should have a right shebang(like @linux-aarhus says). Of course who is default shell does not affect the ones who will take their favorite shell.
I’m for bash
as default for login shell because of POSIX compatibility and bash
fits well to TTY that does not support zsh powerlevel10k
theme. That’s simple reason.
Zsh/Fish lovers can use Zsh/Fish in their profile of terminal GUI, not login shell.
I voted for bash
Vote 4 bash
bash is the designated shell if you’re checking for shell and shell-scripting. it’s too popular to replace it, especially beginners and newbies would be confused if they start with zsh but if you’re a little bit familiar it is no problem using different shells. it is more user-friendly to the common user and there should be no problem for more experienced users to change shells. bash should remain as the golden standard.
Hello, my two cents…
I voted for zsh. Personally for me I use zsh for the vim mode implementation. I don’t use powerlvl10k. I have my own prompt simple and to the point :). I managed to configure zsh by googling and reading, its not that hard and I am no professional nor do I write scripts and what not. Just google and read.
If macOS can use it why not linux
In response to @Aragorn’s function example, you can write functions in .zshrc. There is no problem.
Here is an example that I wrote for restarting .zshrc whenever you change something in it.
In .zshrc
function reload_zshrc() {
echo "zshrc reloaded!"
source $HOME/.zshrc
zle .accept-line
}
zle -N reload_zshrc
bindkey -M vicmd '^[r' reload_zshrc # this is for restarting when in vim command mode alt + r
alias rzsh="reload_zshrc"
I also have some functions from zsh_custom_funcs folder, that also accept arguments and work.
Simple example, file name create_and_take_me_to_dir.zsh
function create_and_take_me_to_dir() {
mkdir -p $1 && cd $1
}
alias cntd='create_and_take_me_to_dir'
With all due respect, I am sure your example can work if you try to make it work.
If zsh was configured when I first installed Manjaro I would have had less trouble configuring it by my self and I would spend less time to google and read.
All this aside I don’t think new users care much about default shell, except those how who are willing to learn and thinker around. The click and enter users, just want flashy and shiny things, so that they can brag around how their system looks
Cheers…
P.S. At the end of the day, there is no pleasing everyone there’s always someone or something…
I switched vote to allow choosing the default shell during installation as I see that it’s the better solution for the 3 worlds (not 2 worlds anymore):
bash
or zsh
as the default shell during fresh installation, this won’t start a war between which one should be the default.bash
is installed, bash
is accessible from the PATH
environment variable, and the shebang works properly, almost a full POSIX compliance is still achieved (note that Linux isn’t fully POSIX compliant but almost compliant).bash
and zsh
fancy theme is installed. Currently, it’s only zsh
powerlevel10k
, but bash
version should be included as well.I didn’t read all the posts above so I apologize if this has been proposed already.
How about a Manjaro shell that can support both in it. Then people can have the best of both worlds without have to choose one or the other.
Of course I have no idea how to accomplish this. Just a wild suggestion.
Thanks
It seems like there is a lot of misinformation and confusion in this topic.
The differences between syntax is minimal in most practical cases. Also, even if you run zsh that doesn’t mean you need to use zsh for your scripts. You can still write scripts in bash if that is your preference.
Both bash and zsh support running POSIX scripts and both enable non-POSIX extensions by default.
zsh
does support functions in .zshrc
. The code isn’t compatible with zsh because you used a bash-ism. If you made it POSIX-compliant, it would work just fine.
Personally, I don’t really care what the default shell is. I’ll change it to whatever I want to use anyway. While it’s nice to see a distribution trying out other defaults (like zsh over bash), there is something to be said new users being able to search for issues and the generic answers will work because they are using the same standard as everyone else.
If the only reason why we default to zsh is because of powerlevel10k and how “pretty” it looks, that’s not a good reason to default to it. However if it is because we like the functionality that is provided better than other alternatives, that makes sense. If the consensus is to move back to bash, then I would suggest including Oh My Bash (and yes that is a fork of oh my zsh), you’ll get pretty and functionality from it.
Personally, I use zsh
with oh-my-zsh
, powerlevel10k
, & a whole buncha plugins.
However, every script I’ve ever written begins with #!/usr/bin/env bash
If y’all decide to go with bash
as the default - it’s what, three(?)… additional commands I gotta run (two if zsh
is already installed). And only once, when I setup my system.
It’s really not that big an inconvenience.
If it makes your life easier, have at it.
Regarding reason #3, I favor the current zsh default because I am disabled and it made it easy to reuse history without searching it by hand.
IF YOU GO BACK TO BASH, PLEASE MAKE A SIMILAR INTERFACE PROVISION FOR HANDICAPPED USERS. IT’S NOT JUST THE PRETTY VISUALS, HONEST!
Thanks,
R