Risposte:
Ogni volta che ti ritrovi MAI a fare qualcosa più volte, scrivilo. Pensa più pigro che puoi. I computer sono stati costruiti per fare tutte quelle stronzate umili. Qualsiasi cosa che puzza di lavoro intenso ha bisogno di uno script di shell.
Personalmente, ho imparato frugando in Slackware per un paio d'anni. Guarda cosa succede quando rimuovi il tuo sistema il più possibile. Impara a sentirti a tuo agio con il testo. Mentre tutti gli altri stanno osservando NetworkManager, scopri quanto è semplice creare il tuo maledetto NetworkManager. Certo, potrebbe non avere un numero così elevato di casi d'uso, ma è possibile ottenere qualcosa funzionante, connettendosi dinamicamente via ethernet e wireless su richiesta abbastanza semplicemente.
Vorrei raccomandare nuovamente i tre libri che ho suggerito in un'altra discussione, questi sono a mio avviso i migliori libri per entrare nello spirito di Unix:
Il primo è vecchio, molto vecchio, ma è conciso, una breve lettura e ti fornirà le braciole di shell di cui hai bisogno (espressioni regolari, sed, pipeline).
Il secondo è incredibilmente divertente.
Il terzo è una raccolta di "migliori" trucchi dei maestri Unix negli anni '90 (cioè quando l'ho letto). Il libro continua a essere modificato, quindi sono sicuro che contiene molte nuove crocchette.
Ci sono molte informazioni utili nella Guida avanzata agli script di Bash , che viene frequentemente aggiornata per rimanere aggiornata.
Come impararlo: innamorarsi della riga di comando. Usalo regolarmente e tira su spesso le pagine man. Spesso, anche. Quando ho appreso per la prima volta lo scripting, non sono riuscito a contare quante volte ho digitato man bash
. Inoltre non sono riuscito a contare quante volte ho tirato su la pagina man per un altro comando.
xterm
(o qualsiasi terminale, se è importante) come gestore dei file principale. Quindi, mi sono quasi costretto a usare shell TUTTO il tempo, il che mi ha fatto imparare e sviluppare alcuni trucchi nel tempo.
L'ho imparato scrivendo uno strumento di monitoraggio. Si collegherebbe a un sacco di macchine tramite ssh e raccoglierebbe dati come uptime, caricamento, numero di connessioni attive, utilizzo della memoria e cose del genere. Sul mio computer locale mi mostrerebbe quei dati come una tabella di testo.
Secondo la raccomandazione di Miguel di "The Unix Programming Environment". È davvero vecchio ma è come ho imparato quasi tutto quello che so sulla shell e perché è così vecchio che puoi ottenerlo per pochi dollari su Amazon: http://is.gd/eiSn6
Trova un libro o un manuale e tratta la shell scelta come un linguaggio di programmazione, perché lo è. (Beh, forse non csh ...)
Per i principianti, scopri come capire se sei in una shell Bash, Bourne shell, csh, zsh o altro. Alcuni di questi sono simili tra loro come C e C ++ - ingannevolmente diversi - quindi sapere con chi stai combattendo ti aiuterà a trovare esempi e manuali che in realtà ti aiuteranno in una determinata situazione.