Пока вы пытаетесь:
./home/abcdef/Desktop/jikesrvm/dist/prototype_x86_64-linux/rvm
shell всегда будет рассматривать . перед контуром как текущий каталог и, следовательно, путь всегда будет относительным путем. Таким образом, оболочка пытается найти исполняемый файл в местоположении:
$PWD/home/abcdef/Desktop/jikesrvm/dist/prototype_x86_64-linux/rvm
, который является неправильным, как вы можете видеть. Вы выполняете исполняемый скрипт, который является текущим каталогом как ./script.sh.
Фактически вы можете просто запустить исполняемый файл, используя абсолютный путь (если скрипт выполним):
/home/abcdef/Desktop/jikesrvm/dist/prototype_x86_64-linux/rvm
Или как ~ расширена оболочкой как $HOME:
~/Desktop/jikesrvm/dist/prototype_x86_64-linux/rvm
Или даже просто имя скрипта, если каталог, содержащий скрипт, находится в переменной среды PATH.
Теперь, если ваш скрипт не является исполняемым, вы можете запустить его, не делая его исполняемым, сообщая оболочке, какая программа будет обрабатывать скрипт, то есть дать скрипту аргумент bash (shell):
bash /home/abcdef/Desktop/jikesrvm/dist/prototype_x86_64-linux/rvm