Post History
There are two possible issues that I can see. First, as already brought up in a comment thread, it appears that the export command you added in your .bashrc is missing a final ". This should cause...
Answer
#1: Initial revision
There are two possible issues that I can see. First, as already brought up in [a comment thread](https://linux.codidact.com/comments/thread/6925), it appears that the `export` command you added in your `.bashrc` is missing a final `"`. This should cause an error message to be printed when starting a shell, making it an easy error to spot. Second and **more likely to be the problem,** `$PATH` points to directories to search for executable files; it does not point directly at specific executable files. So if you have a `python` binary originally in the directory `~/cpython-3.11`, then within that directory do a `mv python python3.11`, then want to be able to start it by giving only its name (not a full path) you will need to add the directory it is in (`~/cpython-3.11`) to your `$PATH`. Therefore, you should probably use something like export PATH="~/cpython-3.11:$PATH" in your `.bashrc` in order to get the results you want. Note that while changing `$PATH` *should* be sufficient to make the shell invalidate cached command paths, you *may* need to start a whole new bash shell for it to actually pick up on the change. You can use `type -a python3.11` to get a list of all locations which your shell currently considers candidates for executing as a bare `python3.11`, ordered by preference.