[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: conoscere a cosa punta un symlink



mar 19 luglio 2005, alle 16:15 (GMT+0200), Sandro Tosi ha scritto:
> > Potresti fare  cosi'
> > 
> > #!/bin/bash
> > f=`file /usr/src/linux`
> > nome=`file /usr/src/linux | awk {'print $1'}`
> > tipo=`file /usr/src/linux | awk {'print $3'}`
> > dove=`file /usr/src/linux | awk {'print $5'}`
> > echo "il file $nome e' un link a $dove"
> > 
> > vincenzo@hal9000:~$ ./script
> > il file /usr/src/linux: e' un link a `linux-2.6.9'
> 
> Secondo me non si mette al riparo da un link che punti ad un file con
> spazi dentro...
> 
> ls -l <the_link> | awk -F "-> " '{ print $2 }'
> 
> dovrebbe essere ok, vi sembra?

E usare find?

~$ find bla -type l -exec file {} \;
bla/link_s1: symbolic link to `file1'
bla/link_s con spazi: symbolic link to `file1'
bla/link_s con spazi2: symbolic link to `file2'
bla/link_s con spazi.ad.un.file.cancellato: broken symbolic link to `gf'
bla/lin:,k_{s} [con MONNEZZA]();: symbolic link to `file2'

(al penultimo link ho cancellato il file reale, l'ultimo contiene oltre
agli spazi un po' di caratteri "strani", find + file non hanno fatto una
piega)
-- 
Ave       Johan Haggi
"Se usi microsoft outlook, per favore, non inserire il mio indirizzo nella tua
rubrica: non voglio essere invaso da "virus-mail" ogni volta che viene scoperta
una delle sue innumerevoli falle." - Autore ignoto - 2003



Reply to: