Esto genera un error de que file_on_volume_foo.txt
no está disponible:
open /path/foo.dmg
open /Volumes/foo/file_on_volume_foo.txt
El archivo ... no existe.
Esto genera un error de que file_on_volume_foo.txt
no está disponible:
open /path/foo.dmg
open /Volumes/foo/file_on_volume_foo.txt
El archivo ... no existe.
El comando que estás buscando es wait4path
y es parte de macOS
La página del manual dice
El programa wait4path simplemente comprueba si la ruta dada existe, y si es así, se detiene. De lo contrario, duerme hasta que se actualice la tabla de montaje y vuelve a comprobar. El programa se ejecutará en bucle indefinidamente hasta que la ruta aparezca en el espacio de nombres del sistema de archivos.
Entonces, sabiendo eso:
wait4path /Volumes/foo/file_on_volume_foo.txt
open /Volumes/foo/file_on_volume_foo.txt
Creo que la secuencia de comandos exacta depende de dónde se encuentra /Volumes/foo
. Si está ubicado en algún lugar de su Macintosh HD
, supongo que una de las otras respuestas podría funcionar mejor. Si está en una unidad de red (NAS, Samba, etc), aquí hay un script de shell que podría resultarte útil:
Usando test
([ ]
):
#!/bin/bash
TF="/Volumes/foo"
if [ ! -f "$TF/file_on_volume_foo.txt" ]; then
echo "no se pudo encontrar el archivo; intentando de nuevo en 5 segundos..."
sleep 5
if [ ! -f "$TF/file_on_volume_foo.txt" ]; then
echo "El archivo solicitado no está disponible"
else
echo "Se encontró el archivo, está DISPONIBLE"
fi
fi
El objetivo del sleep 5
y la reevaluación de la presencia del archivo es darle a su sistema un poco más de tiempo, una segunda oportunidad, para volver a conectar/montar.
También puedes poner una instrucción open
en el script. Eso (por lo que sé) abrirá una ventana del Finder
cuando se encuentre el archivo.
También podrías usar el comando stat
- si por ejemplo, no estás seguro de cuál es el sistema de archivos. Usando un ejemplo de mi sistema, donde un archivo reside en un NAS Synology:
% TF="/Volumes/rpi_share/savedurl/id_value.txt"
% stat -f $TF
File: "/Volumes/rpi_share/savedurl/id_value.txt"
ID: 360000140000001e Namelen: ? Type: smbfs
Block size: 1024 Fundamental block size: 1024
Blocks: Total: 28107205512 Free: 25002647236 Available: 25002647236
Inodes: Total: 28107205510 Free: 25002647236
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.