shell script de AppleScript

0

¿Cómo puedo ejecutar un script de shell en varios equipos diferentes con el mismo código? Si lo tengo ejecutado desde

/ users / 'mi nombre' / desktop / etc.

entonces no funcionará cuando lo use en una computadora diferente, porque el nombre de usuario será diferente. ¿Hay alguna forma de ejecutarlo directamente sin pasar por el directorio de usuarios?

    
pregunta Conrad Homan 29.11.2018 - 23:54

2 respuestas

0

El comando AppleScript que creo que estás buscando es:

(path to Desktop Folder) as text

o

(path to Desktop Folder)

Pero eso devolvería una ruta HFS y el código que publicaste es una ruta POSIX para que puedas cambiarla a:

set homePath to POSIX path of (path to Desktop Folder) as text

Como se indica en el comentario, hay $USER para el terminal y por memoria aún puede llamarlo en AppleScript con algo como:

do shell script "$USER"

Si path to desktop folder no funciona, puedes probar solo path to desktop .

Editar

Direccionando el comentario. Me enseñaron la ruta HFS y la ruta de alias eran las mismas, haré otra pregunta para mayor claridad.

La construcción de la ruta as text es un hábito cuando se concat las cadenas o si iba a tomar la ruta y llamarla más tarde en un do shell . Por ejemplo:

(path to desktop folder)

en Script Debugger devuelve una ruta HFS. Cuando combina un directorio como se muestra en la pregunta del OP, se produce un error de compilación con:

(path to desktop folder & "foobar:")

y a

(path to desktop folder) & "foobar:"

cuando he llamado a rutas usando path to he tenido que escribirlas como:

(path to desktop folder as text) & "foobar:"

No estaba familiarizado con short user name of (system info) y path to home folder pero es bueno saberlo. Un problema con la pregunta es que el OP lo marca con terminal y AppleScript, por lo que la solución es algo complicada.

    
respondido por el ʀ2ᴅ2 30.11.2018 - 07:07
-1

Esto detectará cuál es el nombre de usuario con el que usted / script ha iniciado sesión y los cambios en ese directorio. Puedes pre-pendirlo en tu script:

     user='whoami'        
     cd "/Users/$user"
    
respondido por el hap32 30.11.2018 - 08:17

Lea otras preguntas en las etiquetas