PDA

Visualizza Versione Completa : script per rinominare un file....



epifanio
15-05-06, 12:33
Ciao a tutti :-) ....
ho un problrmino :

per la mia tesi sto utilizzando una stupenda applicazione open-source :
grass (http://wwwamb.bologna.enea.it/forgrass/)

tale applicazione esiste in due versioni diverse (5.4 - 6.1) io per alcuni motivi devo utilizzarle entrambe....il problema è che sia la versione 5.4, che la versione 6, utilizzano delle librerie binarie installate nella directory :
/usr/local
e per entrambe le versioni tali librerie hanno il medesimo nome : "grasslib"

premesso ciò
il mio pensiero era:

installo entrambe le librerie in /usr/local
dandogli nomi diversi del tipo:
"grasslib" (alla libreria della versione 6 utilizzata )
"grasslibb" <<< 2b (alla libreria della versione 5.4 non utilizzata)

nel momento in cui devo utilizzare l'altra versione (la 5.4), potrei rinominarle nel modo inverso:
"grasslibb" (per la 6)
"grasslib" (per la 5)

il mio problema è che in /usr/local è tutto coperto da password di sistema e se faccio clik sulla cartella da rinominare, non me lo fa fare !!!
quindi sarei costretto ogni volta a noiiossissimi copia e incolla delle librerie....

Vengo alla domanda :
esiste un procedimento alternativo per risolvere il problema ?
magari un script da terminale che automatizzi il tutto????
io penso di si, ma non ho le conoscenze necessarie per affrontare il problema....

spero di essere stato chiaro nell'esporre il problema :oops:
grazie mileeeee!!!!

w i mac-guru !
:smt024

flashcream
15-05-06, 13:25
tu hai detto terminale ehhhh.... e io ci provo

1) apri il Terminale.
2) digita mv seguito da uno spazio e non andare a capo.
3) trascina sulla finestra del Terminale la cartella che vuoi rinominare.
(attento!! prendendola dalla sua directory esatta... cioè /usr/local/)
4) il percorso completo della cartella viene copiato in coda al comando mv che hai digitato prima.
5. digita ancora uno spazio.
6. ridigita tutto il percorso della cartella (quello che ti è stato copiato prima nella finestra del Terminale), ma quando arrivi al nome della cartella, scrivi il nome nuovo.
7. premi "a capo" o "invio"

Se ti dice che non hai i permessi necessari, al punto 2 digiti sudo mv e poi procedi come nella lista precedente. Quando ti viene richiesto, inserisci la password dell'utente amministratore

poi registri questo comando (documento--->registra) in modo da usarlo quando ti serve

in pratica è cosi: sudo mv /percorso/nomecartella /percorso/nuovonomecartella

e te ne fai ben 4.... es: da lib a lib1 e da lib1 a lib
da lib a lib2 e da lib2 a lib

posso dire una cosa? mi pare un gran casino.... non so perchè ti ho risposto :D

non mi assuno responsabilità..... prima prova su files innocui 8)

epifanio
15-05-06, 16:28
grazie flashcream !!!

ho proceduto così :
ho creato un file (formato solo testo) con text edit con all'interno i seguenti comandi :
sudo mv /usr/local/utile/ /usr/local/non_utile1
sudo mv /usr/local/non_utile/ /usr/local/utile
sudo mv /usr/local/non_utile1/ /usr/local/non_utile

(dove utile è la libreria da usare e non utile quella da non usare)
l'ho salvato sulla scrivania col nome :
cambia_libgrass.sh

poi ho lanciato il terminale:
vedo sulla scrivania
cd /Users/epifanio/Desktop/
e digito :
chmod a+x cambia_libgrass.sh
in modo da rendere eseguibile il file .sh

ora ogni volta che voglio passare da una libreria all'altra basta aprire il terminale,
cd /directory contenente il file .sh
e poi digito :
./cambia_libgrass.sh

e proprio quello che volevo !!! :D

:risolto:

Hartz
15-05-06, 16:33
Ciao a tutti :-) ....
ho un problrmino :

per la mia tesi sto utilizzando una stupenda applicazione open-source :
grass (http://wwwamb.bologna.enea.it/forgrass/)

tale applicazione esiste in due versioni diverse (5.4 - 6.1) io per alcuni motivi devo utilizzarle entrambe....il problema è che sia la versione 5.4, che la versione 6, utilizzano delle librerie binarie installate nella directory :
/usr/local
e per entrambe le versioni tali librerie hanno il medesimo nome : "grasslib"

Epi, non sono sicuro di avere ben chiaro il problema ma, visto che i due programmi utilizzano delle librerie poste nella directory /usr/local non potresti crearti un altro utente?
Quando sei loggato come Epifanio usi la versione 5.4, quando sei loggato come PincoPallo usi la versione 6.1…

Se ho detto una scemenza, perdonami… :arrossisco:


:vecchietto:

flashcream
15-05-06, 16:34
epi, sarà ma la vera intuizione pratica l'hai avuta tu... te lo sei risolto mooolto da solo il problema, io ho fatto poco :)

epifanio
15-05-06, 16:49
grazie flashcream :oops: ....
il tip dei file .sh l'ho scoperto da poco, mentre per quanto riguarda i comandi unix e la loro sintassi d'utilizzo, sono ancora alle prime armi :( .
Grazie Hartz utile l'dea di cambiare utente (non c'havevo pensato)!
però ho la necessità di utilizzare quasi in contemporanea le due versioni,
quindi è preferibile evitare un continuo log-in-out.

ora sono alle prese con fink !!!
mi da certi problemi che non capisco :-(
avete esperienze a riguardo???
devo installare un pacchetto che si trova tra le versioni "unstable"