Bem, tivemos um erro no PEBCAK ...
Por engano, pensei que, se eu executasse o script, o script saberia automaticamente onde estava e usaria seu local atual como um caminho relativo.
Este não é o caso, acontece. O script tratará qualquer local do qual o usuário esteja executando o script como o caminho a ser usado ao se referir a caminhos relativos.
Isso significa que, se eu for para /home/harmelodic/
e executar:
$ ./.Jetbrains/CLion.sh
O script falharia, pois procuraria /clion*/bin/clion.sh
em:
/home/harmelodic/
em vez de
/home/harmelodic/.Jetbrains/
A solução foi obter o diretório atual do script e, em seguida, executar o comando usando o diretório atual combinado com o caminho relativo para imitar um caminho relativo enquanto realmente estiver usando caminhos absolutos:
#!/bin/sh
CURRENT_DIR='dirname $0'
$CURRENT_DIR/clion*/bin/clion.sh
Isso funciona em qualquer diretório, o que significa que ele funciona dentro de um iniciador do Application Finder.