Come montare e nominare un volume se non è già montato con uno script di avvio

1

Sto provando a fare qualcosa che pensavo sarebbe stato semplice, ma dopo averlo studiato mi sembra di essere a metà strada verso shaving a yak , quindi sto chiedendo un consiglio. Voglio creare uno script che consenta a me e ai miei colleghi di eseguire normali ricerche di spolight su un'unità condivisa, che dalla ricerca sembra non essere facile e che è meglio risolvere con uno script che:

Le parti in grassetto sono le parti con cui ho problemi.

Problemi particolari che ho riscontrato:

  • Ho trovato un modo AppleScript per montare un'unità se non è già montata - controlla name of every disk poi mount volume "path://to/volume" - ma non mi consente di specificare il nome, e sono cauto su quanto sia coerente il Mac nome automatico di un percorso su un'unità condivisa non Mac. Voglio impostare il nome del volume in modo tale che possa farvi riferimento quando dico a Spotlight quale volume indicizzare, cosa che sembra impossibile in AppleScript?
  • Ho trovato un modo di script di shell per montare un'unità su un volume specifico , ma ho letto (non riesco a trovare la sorgente ora, lo sto cercando) che il volume deve esistere già, cosa che mi confonde (devo creare un volume vuoto? Non capisco cosa sia un volume vuoto sarebbe); e non riesco a vedere come verificare che non sia già stato montato automaticamente.

Il mio livello di conoscenza dei volumi Mac ecc. è piuttosto basso, quindi sono consapevole che potrei aver frainteso uno dei precedenti.

    
posta user568458 06.07.2015 - 19:33
fonte

2 risposte

1

OS X segue questi passaggi quando si monta un'unità: crea un dispositivo raw in / dev / (solo per dischi locali), crea una cartella in / Volumes /, quindi monta l'unità nella cartella appena creata. Quel passo di creazione della cartella è probabilmente quello che leggi. Lo script di shell che hai collegato manca del seguente comando:

mkdir /Volumes/somenetworkdir

Quindi il comando che hai collegato funzionerà, con i parametri corretti

mount -t smbfs -o username=RemoteUser //REMOTEHOST/directory /Volumes/somenetworkdir
    
risposta data 06.07.2015 - 20:01
fonte
1
set mountedVolumes to do shell script "ls /Volumes/"

if (mountedVolumes contains "thisDriveName") is false then

        mount volume "afp://thisUsername:thisPassword@thisIPorHostname/thisDriveName"

end if
    
risposta data 07.07.2015 - 09:40
fonte

Leggi altre domande sui tag