PyCharm is not a shell script. Take the .sh
off the filename at the end of the exec=..
line in your .desktop file.
Bash has its own scripting language. Those files end with .sh, but most linux apps are written in other languages. The executables, at least the bigger ones like PyCharm, will usually not have an extension.
If you want to be sure, just cd to the directory that you have as the parent folder, and type ls
or la
. You will get a list of the folder's contents, among which will be the correctly named file.
EDIT: Since there is an sh script, you should check its contents to see where your executable is located. cat <filepath/filename> | less
.
Once you find the actual location of the executable, update your [desktop entry].
EDIT 2: The quickest way for you to get the icon is to run sudo snap install pycharm-community --classic
. When getting software on Ubuntu, unless you have a good reason not to, you should always get it via package manager. Ubuntu comes with apt and snap, although you will end up with others as time goes on.
Package managers are constantly watching your system, checking that you have all the dependencies, and auto updating your versions in unison, so that an update to one app doesn't destroy 5 others.
When you install via tarball (.tar.gz file), you are on your own.
If you install via snap, check the contents of your tarball for an uninstall script. That one may be a .sh file. Run it before snap install. (optional but advisable)