1 votos

Variables de shell en la aplicación independiente de bash script

Tengo un bash script que monta un sistema de archivos fuse creado con la herramienta de backup borg. El montaje del sistema de archivos requiere una frase de contraseña. El comando de montaje de borg permite leer la frase de contraseña desde una exportación en mi shell script. Así que las dos primeras líneas de mi script son algo así como

#!/bin/bash
export BORG_PASSPHRASE='mypassphrase'

Luego monto el sistema de archivos con el comando mount

borg mount user@server:/mntpoint::backup_repository /localmntpoint

El script se ejecuta perfectamente. Sin embargo, me gustaría crear una aplicación independiente que ejecute este script. Así que llamé al script Borg y creé un directorio Borg.app que contiene Contenidos y MacOS como subdirectorios y en MacOS puse el shell Borg script. Esta parece ser la forma habitual de convertir un shell script en una aplicación cliqueable. Soy consciente de que uno puede hacer clic en el propio shell script y un terminal se disparará y ejecutará el script. Yo prefiero la otra opción.

Desgraciadamente no ocurre nada al hacer clic en mi Borg.app. Sospecho que el problema es el comando de exportación al principio que de alguna manera se pierde por el comando de montaje en esta configuración.

Cualquier ayuda para resolver esto es muy apreciada.

1voto

Patrick Steil Puntos 126

Asegúrese de que

  • el shell script dentro de Borg.app es ejecutable ( chmod +x ... )
  • todos los archivos dentro de Borg.app son accesibles para el usuario actual
  • cualquier comando llamado desde el script es llamado con la ruta completa especificada (especialmente para cosas almacenadas en /usr/local/bin y lugares similares no predeterminados)

0 votos

Muchas gracias Patrick por tu respuesta. La aplicación ya era ejecutable. Extrañamente, si ejecuto open /Applications/Borg.app en un terminal, funcionó, mientras que hacer clic en la aplicación en el Finder no hizo nada.

0 votos

@220284 ¿Puedes añadir la ruta completa a borg ¿y volver a intentarlo?

0 votos

Problema resuelto, ¡muchas gracias! El problema era una ruta incompleta del comando borg. Reemplazando borg con /usr/local/bin/borg hace el truco.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X