1 votos

Ejecutar el shell script especificado en el disco duro externo de montaje

Sigo algunos archivos en un disco duro externo y he querido saber lo que es actualmente sin conexión.

He modificado este comando para obtener una .archivo de texto con estructura de árbol de mis carpetas en que el disco duro subido a mi iCloud Drive cuando lo conecto a mi MBP.

Este es mi editada comando que he guardado como .sh, ahora guardar el archivo en el escritorio:

ls -R /Volumes/2TB/ sed -e '/^[^:]*$/d' -e 's/://' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' > /Volumes/SSD/Users/V/Desktop/File.txt

Hasta ahora he hecho un acceso directo en BTT que se ejecuta el script, pero me gustaría que se ejecute cuando me conecte de que el disco duro.

Alguien me sugirió que puede podría crear un launchd con el StartOnMount clave. El problema es, que tengo entendido que a partir de este hilo, no es posible establecer con volumen especificado.

Alguna idea?

1voto

Michael Zhou Puntos 167

En este ejemplo, la salida de df se canaliza a grep que está buscando para que coincida con el disco duro de punto de montaje- /Volumes/2TB. El estado de salida de grep determina el resultado de la condición y de la ! invierte la lógica.

if ! df | grep -q '\/Volumes\/2TB$'
then 
    exit 0
fi

En una frase que dice, si grep no coincide /Volumes/2TB , a continuación, salir de la secuencia de comandos.

Me gustaría escribir la secuencia de comandos como este para ponerlo todo junto.

#!/bin/sh
#
#
if ! df | grep -q '\/Volumes\/2TB$'
then 
    exit 0
fi

ls -R /Volumes/2TB/ |
    sed -e '/^[^:]*$/d' \
        -e 's/://' \
        -e 's/[^-][^\/]*\//--/g' \
        -e 's/^/ /' \
        -e 's/-/|/' >/Volumes/SSD/Users/V/Desktop/File.txt 

AppleAyuda.com

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.

Powered by:

X