Ero sivun ”Bash-skriptaus” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
maininta POSIX:sta lisätty
p (maininta POSIX:sta lisätty) |
|||
(4 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
Komentorivi on jo yksinään [[Komentorivin perusteet|monipuolinen]] työkalu, mutta skriptien avulla on mahdollista toteuttaa huomattavasti monipuolisempia prosesseja pienellä vaivalla. Tässä oppaassa käsitellään skriptien kirjoittamista [[ | Komentorivi on jo yksinään [[Komentorivin perusteet|monipuolinen]] työkalu, mutta skriptien avulla on mahdollista toteuttaa huomattavasti monipuolisempia prosesseja pienellä vaivalla. Tässä oppaassa käsitellään skriptien kirjoittamista [[Bash]]-[[komentotulkki|komentotulkille]]. | ||
Kirjoittaaksesi käyttöjärjestelmäriippumattomia skriptejä on syytä kirjoittaa skriptit [[POSIX]]-yhteensopivina [[POSIX-skriptaus|POSIX-skripteinä]]. | |||
== Alkuun == | == Alkuun == | ||
Rivi 274: | Rivi 276: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
# linucast.sh - LinuCast-podcastin latausskripti | |||
for i in `seq -f"%03g" 1 104` | for i in `seq -f"%03g" 1 104` | ||
do | do | ||
Rivi 292: | Rivi 295: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
# issueLataaja.sh - Ubuntu-aiheisen verkkojulkaisu Full Circle:n artikkelilataaja, kerää ne kaikki! | |||
# Tyhjennetään ruutu | # Tyhjennetään ruutu | ||
clear | clear | ||
# Haetaan kaikki Full | # Haetaan kaikki Full Circlen artikkelit ensimmäisestä beta-julkaisusta (0) kaikkein uusimpaan asti. | ||
# Listataan julkaisut verkkosivulta, joista viimeisin tallennetaan muuttujaksi. | |||
viimeisin_julkaisu=$(curl -s https://fullcirclemagazine.org/downloads/ | grep -oP '(?<=Issue )[0-9]+' | tail -1); | |||
for luku in $(seq | for luku in $(seq 0 $viimeisin_julkaisu) | ||
do | do | ||
FILE="issue"$luku"_en.pdf" | FILE="issue"$luku"_en.pdf" | ||
Rivi 329: | Rivi 336: | ||
*[[Komentorivin perusteet]] | *[[Komentorivin perusteet]] | ||
*[[Komentorivivinkkejä]] | *[[Komentorivivinkkejä]] | ||
*[[ShellCheck]] on ohjelma, joka havaitsee kaikki [[sh]] ja [[bash]]-skriptien ongelmat ja antaa niille parannusehdotukset. | |||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
*[https://tldp.org/LDP/abs/html/ Advanced Bash-Scripting Guide] - laaja englanninkielinen opas bash-skriptaukseen | *[https://tldp.org/LDP/abs/html/ Advanced Bash-Scripting Guide] - laaja englanninkielinen opas bash-skriptaukseen | ||
*[https://www.panix.com/~elflord/unix/bash-tute.html Pikaopas bash-skriptaukseen] (englanniksi) | *[https://www.panix.com/~elflord/unix/bash-tute.html Pikaopas bash-skriptaukseen] (englanniksi) | ||
*[https://web.archive.org/web/20170610153335/https://gd.tuwien.ac.at/linuxcommand.org/writing_shell_scripts.php Writing shell scripts] - toinen laaja englanninkielinen opas bash-skriptaukseen - | *[https://web.archive.org/web/20170610153335/https://gd.tuwien.ac.at/linuxcommand.org/writing_shell_scripts.php Writing shell scripts] - toinen laaja englanninkielinen opas bash-skriptaukseen - {{InternetArchive}} | ||
*[https://www.shellcheck.net/ ShellCheck] on www-ohjelma, joka havaitsee kaikki [[sh]] ja [[bash]]-skriptien ongelmat ja antaa niille | *[https://www.shellcheck.net/ ShellCheck] on www-ohjelma, joka havaitsee kaikki [[sh]] ja [[bash]]-skriptien ongelmat ja antaa niille parannusehdotukset. | ||
*[https://explainshell.com/ ExplainShell] on www-ohjelma, joka antaa ohjetekstin annetuille komennoille. | *[https://explainshell.com/ ExplainShell] on www-ohjelma, joka antaa ohjetekstin annetuille komennoille. | ||
*[https://mywiki.wooledge.org/BashPitfalls Bash Pitfalls] yleisimmät bash-skriptauksen sudenkuopat. | *[https://mywiki.wooledge.org/BashPitfalls Bash Pitfalls] yleisimmät bash-skriptauksen sudenkuopat. |