mercoledì 18 agosto 2010

Links simbolici dal finder di Mac OS X

Di seguito riporto un semplice metodo per creare i link simbolici Unix dal Finder di Mac OS X. Ho scovato questo suggerimento su Macworld  e poiché lo reputo estremamente utile ne riporto in modo sintetico il contenuto. Prima di tutto vediamo rapidamente perché creare un link simbolico invece di un alias: entrambe i meccanismi "puntano" ad un file o una directory, ma mentre i link funzionano bene anche con i tool basati su Unix di Mac OS X, gli alias non sempre funzionano o quanto meno non sempre riconducono al file d'origine. Nel Finder però si può creare facilmente un "alias" (Control-click e quindi selezionare "Crea Alias") ma non un "link" per il quale è necessario aprire il terminale, ed ecco allora la chicca:

Apriamo l'Automator e selezioniamo l'icona"Servizio" dalla lista dei "templates.

Di seguito, selezioniamo "Documenti e cartelle" dalla voce "Ricezioni del servizio selezionate" ed ancora dal drop-down menu di destra scegliamo "Finder".

Quindi dall'elenco delle azioni visualizzato a sinistra trasciniamo nell'area di lavoro la voce "Esegui Shell Script" e selezioniamo "come argomenti" dal menu a destra "passa input",

ora copiamo lo script "bash" seguente nella finestra "Esegui Shell Script" (sostituite pure i comandi già esistenti all'interno):

for f in "$@"
do
 curFolder=`dirname "$f"`
 linkFile=`basename "$f"`
 fileSuffix="link"
 fileExists=`ls -d "$f $fileSuffix"`
 fileNumber=0

 until [ $fileExists=="" ]; do
  let fileNumber+=1
  fileSuffix="link $fileNumber"
  fileExists=`ls -d "$f $fileSuffix"`
 done

 echo "$f $fileSuffix"
 ln -s "$f" "$f $fileSuffix"
done


Ancora dalla lista delle azioni a sinistra selezionate e trascinate a destra la voce "Vedi risultati".

Il grosso è fatto! Ora salvate il flusso di lavoro dell'Automator con un nome significativo dell'operazione che compierà, per esempio "Crea sym link"ed andate a verificare dal Finder che funzioni. Da una qualsiasi finestra del Finder se selezionerete un file o una cartella e farete Control-click o semplicemente aprite il menu contestuale con il tasto destro, troverete anche la voce del servizio appena creato come vi mostro nell'immagine qui sotto:
Per concludere se pensate che questo metodo "bellissimo" e molto "geek", sia per voi invece troppo complicato potrete sempre far ricorso a delle applicazioni già pronte come SymbolicLinker.

Ad MAiora

1 commento:

Per cortesia quando lasciate un commento identificatevi con il nome. Rispondere ad un anonimo per me che ci metto la faccia non è proprio il massimo ;-) Grazie