Mi ci sono voluti quasi 10 anni di utilizzo di Linux per porre questa domanda. Era tutto prova ed errore e navigazione casuale a tarda notte in Internet.
Ma le persone non dovrebbero aver bisogno di 10 anni per questo. Se avessi appena iniziato con Linux, vorrei sapere: quando alias, quando scrivere e quando scrivere una funzione?
Per quanto riguarda gli alias, uso gli alias per operazioni molto semplici che non accettano argomenti.
alias houston='cd /home/username/.scripts/'
Sembra ovvio. Ma alcune persone lo fanno:
alias command="bash bashscriptname"
(e aggiungilo al .bashrc
file)
C'è una buona ragione per farlo? Ci sto provando molto, ma sinceramente non riesco a pensare a nessuna circostanza in cui vorrei farlo. Quindi, se esiste un caso limite in cui ciò potrebbe fare la differenza, rispondi di seguito.
Perché è lì che vorrei semplicemente inserire qualcosa nel mio PATH e chmod +x
questo, che è un'altra cosa che è arrivata dopo anni di tentativi ed errori su Linux.
Il che mi porta al prossimo argomento. Ad esempio, ho aggiunto una cartella nascosta ( .scripts/
) nella home directory al mio PATH semplicemente aggiungendo una riga a my .bashrc
( PATH=$PATH:/home/username/.scripts/
), quindi qualsiasi cosa eseguibile lì si completerà automaticamente.
Se ne avessi bisogno.
Non ne ho davvero bisogno, però? Lo userei solo per le lingue che non sono la shell, come Python.
Se è la shell, posso semplicemente scrivere una funzione all'interno della stessa .bashrc
:
funcname () {
somecommand -someARGS "$@"
}
Come ho affermato, ho scoperto molto attraverso prove ed errori. E ho visto davvero la bellezza delle funzioni solo quando il mio computer è morto e sono stato costretto a usare i computer delle persone intorno a me quando non li stavano usando.
Invece di spostare un'intera directory di script da un computer all'altro, ho finito per sostituire il mio .bashrc di tutti con il mio, dal momento che non avevano mai nemmeno fatto una singola modifica.
Ma mi sono perso qualcosa?
Quindi, cosa diresti a un utente Linux principiante di quando alias, quando scrivere e quando scrivere una funzione?
Se non è ovvio, suppongo che le persone che risponderanno utilizzeranno tutte e tre le opzioni. Se usi solo alias, o usi solo script, o usi solo funzioni - o se usi solo alias e script o alias e funzioni o script e funzioni - questa domanda non è realmente rivolta a te.