-bash: unalias: ls: not found

You should only attempt to unalias if it is actually an alias: Change

unalias ls

to

[[ $(type -t ls) == "alias" ]] && unalias ls

I can't reproduce this but I assume the problem is because you have already unaliased ls once, so you can't unalias it again. However, I'm also pretty sure that the source command worked perfectly. Did you check? Chances are that it was sourced correctly and you can just ignore the error message.

More to the point, why are you running source ~/.bashrc? That file should be read when you start a new interactive non-login shell anyway. If it's to reload it because you made a change, then you're fine, your change was loaded. Ignore the error.

Tags:

Bash

Alias