Cómo montar y nombrar un volumen si aún no está montado con un script de inicio

1

Estoy tratando de hacer algo que pensé que sería simple, pero después de investigarlo siento que estoy a mitad de camino hacia afeitado un yak , así que estoy pidiendo consejo. Quiero crear un script que me permita a mis colegas y yo hacer búsquedas normales en un disco compartido, lo que a partir de la investigación no parece ser fácil y se resuelve mejor con un script que:

Las partes en negrita son las partes con las que tengo problemas.

Problemas particulares que estoy teniendo:

  • He encontrado una forma AppleScript de montar una unidad si aún no está montada - compruebe name of every disk y luego mount volume "path://to/volume" - pero no me permite especificar el nombre, y soy cauteloso acerca de la coherencia con la Mac auto-nombrar una ruta en una unidad compartida que no sea Mac. Quiero establecer el nombre del volumen para poder referirme cuando le digo a Spotlight qué volumen indexar, ¿qué parece imposible en AppleScript?
  • He encontrado un forma de script de shell para montar una unidad en un volumen específico , pero leo (no puedo encontrar la fuente ahora, lo estoy buscando) que el volumen ya tiene que existir, lo que me confunde (¿necesito crear un volumen vacío? No entiendo bien qué es un volumen vacío sería); y no puedo ver cómo comprobar que no se haya montado automáticamente.

Mi nivel de conocimiento de volúmenes de Mac, etc. es bastante bajo, por lo que soy consciente de que puedo haber entendido mal alguno de los anteriores.

    
pregunta user568458 06.07.2015 - 19:33

2 respuestas

1

OS X sigue estos pasos al montar una unidad: crea un dispositivo sin formato en / dev / (solo para discos locales), crea una carpeta en / Volumes /, luego monta la unidad en la carpeta que acaba de crear. Ese paso de creación de carpeta es probablemente lo que lees. A la secuencia de comandos shell que vinculó le falta el siguiente comando:

mkdir /Volumes/somenetworkdir

Entonces, el comando que has vinculado funcionará, con los parámetros adecuados

mount -t smbfs -o username=RemoteUser //REMOTEHOST/directory /Volumes/somenetworkdir
    
respondido por el William T Froggard 06.07.2015 - 20:01
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
    
respondido por el fartheraway 07.07.2015 - 09:40

Lea otras preguntas en las etiquetas