Script di shell AppleScript

0

Come posso eseguire uno script di shell su più computer con lo stesso codice? Se l'ho eseguito da

/ users / 'my name' / desktop / etc.

quindi non funzionerà quando lo uso su un computer diverso, perché il nome utente sarà diverso. C'è un modo per eseguirlo direttamente senza passare attraverso la directory dell'utente?

    
posta Conrad Homan 29.11.2018 - 23:54
fonte

2 risposte

0

Il comando AppleScript che penso tu stia cercando:

(path to Desktop Folder) as text

o

(path to Desktop Folder)

Ma questo restituirebbe un percorso HFS e il codice che hai postato è un percorso POSIX in modo che tu possa cambiarlo in:

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

Come indicato nel commento c'è $USER per il terminale e per memoria puoi ancora chiamarlo in AppleScript con qualcosa del tipo:

do shell script "$USER"

Se path to desktop folder non funziona, puoi provare solo path to desktop .

Modifica

Indirizzamento al commento. Mi è stato insegnato il percorso HFS e il percorso alias era lo stesso, ne farò un'altra domanda per chiarezza.

Costruire il percorso as text è un'abitudine quando le stringhe concat o se dovevo prendere il percorso e chiamarlo più tardi in un do shell . Ad esempio:

(path to desktop folder)

in Script Debugger restituisce un percorso HFS. Quando si combina una directory come è stata mostrata nella domanda dell'OP, si verifica un errore di compilazione con:

(path to desktop folder & "foobar:")

e a

(path to desktop folder) & "foobar:"

quando ho chiamato i percorsi utilizzando path to ho dovuto scriverli come:

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

Non avevo familiarità con short user name of (system info) e path to home folder , ma è bello sapere. Un problema con la domanda è che l'OP lo contraddistingue con terminale e AppleScript, quindi la soluzione è piuttosto complicata.

    
risposta data 30.11.2018 - 07:07
fonte
-1

Questo rileverà qual'è il nome utente con il quale / script ha / ha effettuato l'accesso e cambia in quella directory. puoi precaricarlo per il tuo script:

     user='whoami'        
     cd "/Users/$user"
    
risposta data 30.11.2018 - 08:17
fonte

Leggi altre domande sui tag