En av de beste tingene med Linux-kommandolinjen er din evne til å sette sammen skript som gjør livet ditt lettere. På sitt mest grunnleggende nivå er et skalskript en liste over kommandoer som utføres en etter en, som om du skrev dem selv på kommandolinjen. Mens shell (for eksempel, Bash shell) programmering kan være like komplisert som programmering på andre språk, er det lettere å hente noen få grunnleggende triks som du kan bruke til å gjøre deg mer effektiv.

Merk : Mens du bør kunne bruke disse tipsene umiddelbart, har MTE en utmerket Begynnerveiledning for å skrive Linux Shell-skript du kan referere til for detaljer.

Grunnleggende om grunnleggende

Du har allerede alt du trenger for å utnytte disse triksene på en hvilken som helst moderne Linux-distribusjon: en tekstredigerer og et skall (vi skal bruke Bash-skallet her). Åpne tekstredigeringsprogrammet, og du er klar til å skanne unna. Du sparer skriptene som vanlige tekstfiler ... Noen mennesker favoriserer å bruke en ".sh" filtillegg for å hjelpe til med å identifisere skript.

Du må også lære litt om syntaksen, eller formatet på shell-skript. En ting du må huske, er å sette følgende linje øverst på hvert skript:

 #! / Bin / bash 

Når du kjører et skript på ledeteksten, forteller denne linjen ditt nåværende skall hvilket annet skall som skal brukes til å kjøre det, hvis de er forskjellige. Den andre tingen du må huske, er å gjøre skriptet ditt kjørbart, som vi gjør i et øyeblikk. Men for nå, la oss lage et nytt, nyttig skript.

Et skript for å gjøre ting litt annerledes

Beginners Guide ovenfor gjør en god jobb med å forklare variabler, og viser deg hvordan du tar argumenter (noen ord / setninger du skriver etter kommandoenes navn) og bruker dem. Men du kan også bruke det som kalles "miljøvariabler" for å endre ting om hvordan programmene dine kjører. For eksempel er jeg en japansk høyttaler, og mens Linux-programmer kan takle innspillet til japansk, blir jeg noen ganger nostalgisk for det japanske brukergrensesnittet. Det finnes miljøvariabler for "Lokale", som definerer hvilke språkprogrammer som vises. Hvis jeg for eksempel vil gå tilbake til mine nettlesingsdager i Japan, bruker jeg følgende:

 LANG = "ja_JP" firefox 

Men jeg glemmer ofte om denne miljøvariabelen skal være "LANG, " "LC_TYPE", eller en av de andre 10 lokalrelaterte variablene. Jeg vil heller bare "Japanisere den." Så jeg opprettet et Bash-skript kalt "jpit" som følger:

 #! / bin / bash LANG = "ja_JP" $ 1 

Dette vil vise de oversatte japanske menyene og grensesnittet (du kan se det engelske brukergrensesnittet nedenfor til venstre, og resultatet når det lanseres av "jpit" til høyre).

Da gjorde jeg bare skriptet kjørbar med følgende:

 chmod + x / home / aaron / bin / jpit 

Jeg plasserte dette i min ~ / bin- katalog fordi dette er i min PATH, og jeg kan nå kjøre dette fra hvilken som helst terminal eller KRunner, og sett inn et hvilket som helst programnavn som aksepterer "LANG" -variabelen. Du kan bruke et skript som dette til å kjøre et program med et annet sett med alternativer, enten det er miljøvariabler, kommandolinjeflagger eller inn- / utgangsfiler.

Et skript for å gjøre dette, så det

Det er noen ganger jeg finner meg selv å utføre et antall av de samme kommandoene, i samme rekkefølge, på rad. Følgende kommer umiddelbart i tankene:

 sudo apt-get oppdatering sudo apt-get oppgradering 

Heldigvis er det en måte å utstede disse som en kommando, så "gå bort" til de alle fullfører:

 sudo apt-get oppdatering && sudo apt-get oppgradering 

&& i denne kommandoen betyr at den andre kommandoen bare skal kjøres etter den første, og bare hvis den første fullføres uten feil. apt-get kommandoene ovenfor vil trolig spørre deg om du vil installere noen avhengigheter, men hvordan er det så nyttig?

La oss gå tilbake til vår gamle venn, Pandoc . Vi har sett i tidligere artikler at Pandoc har muligheter til å konvertere Markdown til andre, forskjellige formater. Men hva om du vil gjøre konvertere det til HTML, ODT, DOCX og en e-bok alt på en gang? Enkelt: Lag et shell-skript med følgende:

 #! / bin / bash pandoc -r markdown -w html -o $ 1.html $ 1 && pandoc -r markdown -w docx -o $ 1.docx $ 1 && pandoc -r markdown -w odt -o $ 1.odt $ 1 && pandoc - r markdown -w epub -o $ 1.epub $ 1 

Dette vil ta uansett Markdown-dokumentet du gir det som et argument, og generere hvert av de ønskede formatene ved å kjøre Pandoc-kommandoen ett format om gangen. En kommando, fire sluttprodukter. Nå er det effektivitet!

Du kan til og med kombinere ovenstående til alternativer for å lage alle slags nyttige skript. Fordi selv om vi alle elsker kommandolinjen, er det ingen grunn til å bruke mer tid på det enn du må ...