Estoy trabajando en una herramienta para un cliente que necesita ser ejecutada como sudo (luego descubrí que no funciona sin sudo ya que nunca he trabajado en un Mac). Tengo el binario listo, y escribí un shell script para llamar a ese binario como sudo.
Sin embargo, el problema es que el shell script no es capaz de encontrar el binario, y además saca la ruta equivocada con pwd
. La ubicación del binario no es fija y podría colocarse en cualquier lugar, por lo que no puedo codificar la ruta en el shell script.
Para elaborar un poco en el pwd salida ruta incorrecta: el script fue colocado en una ubicación cuya ruta es /Volumes/MySSD/MiscFiles/
y la salida de pwd
a través del shell script fue /User/<my client's username>
.
Otra restricción importante es que mi cliente no puede manejar una terminal, por lo que para él cuando hace doble clic en el ejecutable se inicia. Pero necesito que esto se ejecute como sudo, de lo contrario no funciona.
Entonces, mi pregunta es si hay alguna forma de hacer que cuando haga doble clic en el binario desde el explorador de archivos (creo que se llama Finder en Mac), se ejecute como sudo.
O, ¿hay algo malo que estoy haciendo en mi shell script?
este es mi shell script
#!/bin/bash
# sudo ./actiontool #actiontool is the binary, and this command didn't work, it gave a no such file or directory error
# echo $(pwd) #this echoed the wrong path
sudo .$(pwd)/actiontool #also didnt work as $(pwd) outputs the wrong path