0 votes

script pour monter un disque exfat

J'espère que vous vous portez bien. J'utilise un Macbook pro 2019 avec Big Sur et j'ai toutes mes photos et vidéos sur un disque externe formaté en ExFat. A chaque fois que je dois monter le disque je dois exécuter ces étapes.

sudo pkill -f fsck
diskutil list
sudo umount /dev/disk2s1
sudo mkdir -p /Volumes/disk2s1
sudo mount_exfat /dev/disk2s1 /Volumes/disk2s1

Jusqu'à ce point, pas de problème, c'est un peu fastidieux et je voulais donc créer un script pour le faire. Ma principale question est la suivante :

Lorsque je fais diskutil list, le disque peut être monté sur /dev/disk2s1 ou /dev/disk3s1.

nachogon@Morrowind ~ % diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         250.7 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +250.7 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD - Data     12.3 GB    disk1s1
   2:                APFS Volume Preboot                 593.1 MB   disk1s2
   3:                APFS Volume Recovery                1.2 GB     disk1s3
   4:                APFS Volume VM                      2.1 GB     disk1s4
   5:                APFS Volume Macintosh HD - Datos    147.4 GB   disk1s5
   6:                APFS Volume Macintosh HD            19.4 GB    disk1s7
   7:              APFS Snapshot com.apple.os.update-... 19.4 GB    disk1s7s1

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *4.0 TB     disk2
   1:       Microsoft Basic Data Elements                4.0 TB     disk2s1

Existe-t-il un moyen d'extraire le fichier diskutil afin de trouver le disque par son nom (Elements) et d'assigner une variable à l'identifiant du disque ?

Merci d'avance pour toute aide.

1voto

nohillside Points 82672

En supposant qu'il n'y ait qu'un seul lecteur appelé Elements, l'exécution de la commande

diskutil list 'Elements' | sed -nE '/ Elements /s/.* (disk[0-9]+s[0-9]+)$/\1/p'

renvoie l'identifiant de l'appareil.

Dans un script, vous pouvez utiliser

disk=$(diskutil list 'Elements' | sed -nE '/ Elements /s/.* (disk[0-9]+s[0-9]+)$/\1/p'
)
if [[ -n "$disk" ]]; then
    mkdir -p /Volumes/Elements
    mount_exfat "/dev/$disk" /Volumes/Elements
fi

0voto

Michael Zhou Points 167

Voici deux autres solutions. La première utilise simplement grep pour extraire l'identifiant du disque.

diskutil list external physical | grep -w 'Elements' | grep -o 'disk[0-9]*s[0-9]*$'

Et le second utilise awk :

diskutil list external physical | awk '/Elements/ { print $NF }'

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X