I'm trying to install VMware Workstation in my Ubuntu 12.04.2 LTS.
If I execute the following command:
sudo ./VMware-Workstation-9.0.1-894247.x86_64.bundle
it finishes at once and the installation never starts.
If I execute this command:
sudo sh ./VMware-Workstation-9.0.1-894247.x86_64.bundle
The installer can be launched successfully.
Why does this make a difference?
Best Answer
If the file is not marked as executable you need to call a command shell interpreter to execute it.
Examples:
sudo sh foo
will open foo withsh
using sudo privileges.sudo bash foo
will open foo withbash
using sudo privileges.sh foo
will open foo withsh
using your user's privileges.bash foo
will open foo withbash
using your user's privileges.If you mark a file as executable you just need to call it with
./foo
and because it is marked as such it will be read with the defined command shell interpreter and executed without the need to define one.ls -F
will list files and mark executables with *.To enable the execute bit on a file (and make it executable as such) use the command
chmod +x foo
.In your case to make the file you are using executable you would then use the command
chmod +x VMware-Workstation-9.0.1-894247.x86_64.bundle
and then you will be able to run it with either
sudo sh ./VMware-Workstation-9.0.1-894247.x86_64.bundle
or just by typingsudo ./VMware-Workstation-9.0.1-894247.x86_64.bundle
.