Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: cambiare default di cp

  1. #1
    Utente di HTML.it L'avatar di fausto
    Registrato dal
    Jun 2002
    Messaggi
    294

    cambiare default di cp

    Ciao a tutti.

    La quetsione e' semplice, ma mi chiedevo se ci fosse una maniera elegante di farlo.

    Il comando cp di default non si preoccupa di avvertire se si sta copiando su un file presistente. L'opzione -i risolve il problema.
    Cosa devo fare perche' il comportamento di default di cp sia con l'opzione -i?
    Io ho fatto un microscript del tipo
    # variazione di cp
    cp -i $*;
    # fine script
    Lo posso chiamare miocp e amen.

    Ma io vorrei che a cambiare sia il comportamento di cp.
    Fermo restando che possio togliere cp da /bin, rinominarlo e cambiare il mio a miocp in cp, mi chiedevo appunto se ci fossero modi standard per personalizzare i comandi.

    Idee?
    laptop asus L5800C
    slackware 11.0 kernel 2.6.17

  2. #2
    Utente di HTML.it L'avatar di fausto
    Registrato dal
    Jun 2002
    Messaggi
    294
    VVoVe: VVoVe: VVoVe:
    che vergogna....
    ovviamente e' default.....
    laptop asus L5800C
    slackware 11.0 kernel 2.6.17

  3. #3

    Re: combiare defoult di cp

    Originariamente inviato da fausto
    [...]
    Ma io vorrei che a cambiare sia il comportamento di cp.
    Fermo restando che possio togliere cp da /bin, rinominarlo e cambiare il mio a miocp in cp, mi chiedevo appunto se ci fossero modi standard per personalizzare i comandi.
    Idee?
    Definisci un alias per la tua shell (bash presumibilmente). Molte distribuzioni lo fanno di per se.
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  4. #4
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    Originariamente inviato da fausto
    VVoVe: VVoVe: VVoVe:
    che vergogna....
    ovviamente e' default.....
    Non devi vergognarti di nulla.
    [EDIT]
    (anche se non è un comporamento predefinito)
    [/EDIT]

    Un modo elegante e diffuso per dare un volto nuovo alla
    versione predefinita dei comandi, è quello di utilizzare gli alias.
    codice:
    cacao74@winnie:~/tmp$ ls
    cacao.sh  cacao.sh~
    cacao74@winnie:~/tmp$ alias ls="ls -l"
    cacao74@winnie:~/tmp$ ls
    total 8
    -rw-r--r--  1 cacao74 users 224 2005-11-23 19:46 cacao.sh
    -rw-r--r--  1 cacao74 users 171 2005-11-23 19:42 cacao.sh~
    cacao74@winnie:~/tmp$ unalias ls
    cacao74@winnie:~/tmp$ ls
    cacao.sh  cacao.sh~
    man bash per i dettagli

    ciao
    slack? smack!

  5. #5
    Utente di HTML.it L'avatar di fausto
    Registrato dal
    Jun 2002
    Messaggi
    294
    fiko!
    grazie.

    comunque colgo l'occasione per dire una cosa.
    C'è una forte asimmetria per quanto riguarda la documentazione sui comandi.
    Se uno sa il nome del comando, allora puo' trovare facilissimamente valanghe di informazioni. Ma al contrario, anche se la questione e' semplice, come quella qui esposta, e' difficile trovare da soli informazioni che, a partire da quello che uno vuole fare, conduca al comando.
    Certo apropos non e' un così valido aiuto.

    Ciao,
    f.
    laptop asus L5800C
    slackware 11.0 kernel 2.6.17

  6. #6

  7. #7
    Utente di HTML.it L'avatar di fausto
    Registrato dal
    Jun 2002
    Messaggi
    294
    ovviamente, sapere tutto e' sempre la migliore soluzione...
    laptop asus L5800C
    slackware 11.0 kernel 2.6.17

  8. #8
    Utente di HTML.it L'avatar di fausto
    Registrato dal
    Jun 2002
    Messaggi
    294
    Mi e' venuto un dubbio.

    Supponiamo che io abbia modificato attraverso un alias il comportamento di un cp.

    Supponiamo pero' che io voglio scrivere uno script in cui viene usato cp e diciamo che voglio scrivere questo script nel modo piu' portabile possibile.

    Se fra le itruzioni c'era quella di copiare su un file esistente, a causa dell'alias lo script si ferma e chiede per la conferma. Ma io no voglio questo...
    E' chiaro che in questo caso risolvo il problema sostituendo a cp, cp-f.

    Ma mi chiedo, non c'e' un modo per eliminare temporaneamente, per esempio la durata dell'esecuzione dello script, gli tutti gli alias?
    laptop asus L5800C
    slackware 11.0 kernel 2.6.17

  9. #9
    Originariamente inviato da fausto
    Ma mi chiedo, non c'e' un modo per eliminare temporaneamente, per esempio la durata dell'esecuzione dello script, gli tutti gli alias?
    unalias -a, direi
    oppure potresti usare direttamente il path assoluto dei programmi, oltrepassando cosi` gli alias impostati nel caso questi abbiano lo stesso nome di programmi esistenti.
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  10. #10
    Utente di HTML.it L'avatar di fausto
    Registrato dal
    Jun 2002
    Messaggi
    294

    Sono un idiota.
    Lo ammeto mestamente.

    Se fate man bash nella parte dove spiega gli unalias, dice anche che gli alias vengo presi in considerazione solo se la shell e iterattiva. al trimenti no, a meno che non sia stata specificata una specifica direttiva.

    Pardon pardon.
    cioa,
    f.
    laptop asus L5800C
    slackware 11.0 kernel 2.6.17

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.