|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
|
funzioni Bash
sto provando a ridefinire il comando "ls" in modo che chiami un mio programma invece che il comado classico.
Per fare ciò ho messo una funzione chiamata "function ls()" in .bashrc, ma la bash continua comunque a richiamare il comando classico "ls"...qualcuno sa spiegarmi perchè?e come potrei aggirare il problema? GRAZIE!
__________________
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
alias ls='quello che vuoi'
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
|
Grazie della risposta.
Il problema è che l'alias mi modifica il comando in modo permanente (almeno finchè non viene chiamato unalias), invece io vorrei che passando un certo parametro alla funzione ls() questa chiami il mio programma, se quel determinato parametro c'è, inveci chiami il classico comando "ls" se quel parametro non c'è...non so se mi sono spiegato bene.....
__________________
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Fatti un programmino...ad esempio: miols che richama ls normale se non hai un prametro come quello che ti serve...
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
|
Quote:
allora, ho notato una cosa che ho sempre dato per scontato.... io uso KDE come Desktop manager, ed ho sempre pensato che quella che KDE chiama "Shell Konsole" fosse la bash normale...però ora vedo che, nel menù della Shell konsole posso aprire una nuova sessione come "Linux console", che effettivamente richiama la shell BASH.... ritornando al discorso della funzione, ho notato che da quest'ultima ("Linux console") il comando ls viene effettivamente sovrascritto dalla mia funzione ls() (contenuta in .bashrc), mentre nella sessione con "Shell Konsole" ciò non avviene....ed il fatto strano è che mi succedde solo se tento di sovrascrivere ls, mentre se tento di ridefinire, ad es, mkdir tutto và alla perfezione, cioè il comando viene ridefinito... misteri?!!?
__________________
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
|
è una cosa veramente strana....
se provo a definire funzioni che hanno lo stesso nome dei comandi come "cp" "cd" "mkdir" e le metto in ./bashrc, i comandi mi vengono effettivamente sovrescritti e vengono eseguite le mie funzioni...ma se provo a ridefinire il comando ls, creando una funzione ls(), la cosa non funziona, e viene sempre eseguito il programma ls classico.....perchè?!?!?!? non c'è nessuna anima pia che può darmi un barlume di speranza??
__________________
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
digita 'alias' e guarda che non ci sia già un alias per 'ls' secondo me e' quello il problema, l'alias viene interpretato prima della tua funzione |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
|
werwerewrweòrjwrelq09ew09230329320984809we8!?!?!?!?!?
che pirla...HAI RAGIONE....grazie.........
__________________
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:15.



















