views:

978

answers:

1

I am trying to move to zsh from Bash.

I put my .bashrc directly to my .zshrc, and it caused a lot of errors when I try to use Bash again.

How can you export your .bashrc to .zshrc?

+6  A: 

You can't "export" your .bashrc to a .zshrc. .bashrc is a file that runs bash commands. .zshrc is a file that runs zsh commands.

You can't expect zsh to be able to run the bash commands in your .bashrc, so you should convert it into a new .zshrc instead of trying to run .bashrc from .zshrc or copying the former into the latter.

If you want a common shell initialization file for all your shells; use .profile (and remove .bashrc and .zshrc). It's sourced by all POSIX shells. And in there, stick to POSIX shell features only. Then that code will run in any POSIX shell. (Though, I'm not 100% certain that zsh is POSIX compliant).

See: http://mywiki.wooledge.org/DotFiles.

Though - and I'd first misread this part of your question - you shouldn't experience errors from bash when running your .bashrc unless you put zsh commands in there. Did you? What errors are you getting? Sounds to me like you've added zsh code into your .bashrc and bash (obviously) doesn't understand.

As an aside, ojblass tries to make a point of portability which only partly succeeds. zsh is a great shell (though I haven't had the honors myself), but when writing scripts; I'd recommend you do so with #!/usr/bin/env bash instead. Mostly just for your own (and eventually, the people you share with their) sake of portability.

lhunath
Look at the stament "I put my .bashrc directly to my .zshrc, and it caused a lot of errors when I try to use Bash again." now think for a moment what would cause that... and then reword your post.
ojblass
I would show you but look no zsh is on my linux partition... shocker
ojblass
@ojblass: Quite right; misread the question.
lhunath