Mam następujące polecenie terminala, które pasuje do woluminów o nazwach A001R45R, A123R45R itp.
diskutil eraseVolume HFS+ FreshMag /Volumes/*R45R
Ale chcę też, aby pasowała do woluminów o nazwach B001R4G5, B150R4G5 itp. Jak mogę użyć wyrażenia OR w symbolu wieloznacznym? Próbowałem następujące, ale to nie działa:
$ diskutil eraseVolume HFS+ FreshMag /Volumes/{*R45R,*R4G5}
The third parameter does not appear to be "bootable" or "nonbootable"
$ diskutil eraseVolume HFS+ FreshMag /Volumes/"{*R45R,*R4G5}"
Unable to find disk for /Volumes/{*R45R,*R4G5}
Używam bash.
R4
pośrodku ich nazwy? Jeśli nie, możesz użyć:diskutil eraseVolume HFS+ FreshMag /Volumes/*R4*
Odpowiedzi:
Sam wymyśliłem odpowiedź. Najwyraźniej wersja bash w OS X obsługuje nawiasy kwadratowe, ale nie nawiasy klamrowe. Dziwne. To bash 3.2.53. To polecenie działa:
Jednak w tym konkretnym przypadku lepiej jest użyć bardziej szczegółowego polecenia, takiego jak to:
Należy zauważyć, że jeśli więcej niż jeden wolumin pasuje do tego symbolu wieloznacznego, polecenie zakończy się niepowodzeniem, ponieważ symbol wieloznaczny rozwija się do obu nazw plików.
źródło