Panduan Wiwitan Kanggo BASH - Part 1 - Hello World

Ana akeh panuntun ing internet sing nuduhake carane nggawe skrip Shell nggunakake BASH lan pandhuan iki nduweni tujuan kanggo menehi spin sing rada beda amarga ditulis dening wong sing nduweni pengalaman scripting shell banget.

Saiki sampeyan bisa mikir yen iki idea bodho nanging aku nemokake sawetara guide sampeyan ngomong yen sampeyan wis pakar lan guide liyane njupuk dawa kanggo Cut menyang Chase.

Sakwene pengalaman scripting shell LINUX / UNIX diwatesi, aku pengembang perangkat lunak kanthi perdagangan lan aku tangan ing basa skrip kayata PERL, PHP lan VBScript.

Titik pandhuan iki yaiku sampeyan bakal sinau kaya aku sinau lan informasi sing aku pilih aku bakal nerusake menyang sampeyan.

Miwiti

Ana temenan akeh teori sing bisa dikirim menyang sampeyan langsung kayata njlentrehake macem - macem jinis cangkang lan kaluwihan nggunakake BASH liwat KSH lan CSH.

Paling wong nalika sinau sing anyar pengin mlumpat lan miwiti karo sawetara pelajaran praktis dhisik lan karo ing pikiran aku ora bakal nglairake sampeyan karo trivia sing ora penting saiki.

Kabeh sing perlu kanggo nderekake pandhuan iki yaiku editor teks lan BASH terminal (cangkang default ing paling distribusi Linux).

Tèks editors

Panuntun liyane sing aku maca wis disaranake sampeyan mbutuhake editor teks sing kalebu werna pangaturan werna lan editor sing dianjurake yaiku VIM utawa EMACS .

Pengkodean werna apik amarga nduduhake perintah nalika ngetik kasebut nanging kanggo pemula mutlak sampeyan bisa nglampahi sinau VIM lan EMACS sawetara minggu pisanan tanpa nulis kode baris siji.

Saliyane loro aku seneng EMACS nanging jujur ​​aku luwih seneng nggunakake editor sederhana kayata nano , gedit utawa leafpad.

Yen sampeyan nulis naskah ing komputer dhewe lan ngerti sampeyan bakal nduweni akses menyang lingkungan grafis, sampeyan bisa milih editor sing paling apik kanggo sampeyan lan bisa uga grafis kayata GEdit utawa editor sing nganggo langsung ing terminal kayata nano utawa vim.

Kanggo tujuan pandhuan iki, aku bakal nggunakake nano minangka dianggo sacara native ing mayoritas distribusi Linux lan mulane sampeyan bakal nduweni akses menyang.

Mbukak Window Terminal

Yen sampeyan nggunakake distribusi Linux kanthi desktop grafis kayata Linux Mint utawa Ubuntu sampeyan bisa mbukak jendhela terminal kanthi mencet CTRL ALT T.

Endi Kanggo Ngetokake Panjenengan Script

Kanggo tujuan tutorial iki sampeyan bisa nulis skrip sampeyan ing folder ing ngarep folder.

Ing jendhela terminal priksa manawa sampeyan ana ing folder ngarep kanthi ngetik perintah ing ngisor iki:

cd ~

Pangaturan cd minangka direktori ganti lan tilde (~) minangka trabasan kanggo folder ngarep.

Sampeyan bisa mriksa manawa sampeyan ana ing panggonan sing bener kanthi ngetikake printah ing ngisor iki:

pwd

Pandhuan pwd bakal nyritakake apa sampeyan saiki ing direktori direktori. Ing kasusku bali / omah / gary.

Saiki, sampeyan ora pengin nggawe script sampeyan terus menyang folder ngarep supaya nggawe folder sing disebut skrip kanthi ngetik perintah ing ngisor iki.

skrip mkdir

Ngganti menyang folder naskah anyar kanthi ngetikake printah ing ngisor iki:

cd skrip

Skrip pisanan sampeyan

Iku umume nalika sinau program kanggo nggawe program pisanan mung ngasilake tembung "Hello World".

Saka ing folder script sampeyan ketikake printah iki:

nano helloworld.sh

Saiki ketik kode ing ngisor iki menyang jendhela nano.

#! / bin / bash echo "hello world"

Pencet CTRL + O kanggo nyimpen file lan CTRL + X kanggo metu saka nano.

Aksara iki dhewe digawe kaya mangkene:

Ing #! / Bin / bash kudu disertakan ing ndhuwur kabeh naskah sing ditulis minangka ngijini juru lan sistem operasi ngerti cara kanggo ngatasi berkas kasebut. Sejatine mung eling kanggo nyelehake lan lali bab apa sing sampeyan tindakake.

Baris kapindho nduweni perintah siji sing disebut echo sing nampilake teks sing langsung nderek.

Elinga yen sampeyan pengin nuduhake luwih saka siji kata, sampeyan kudu nggunakake tanda kutip ganda (") ing sekitar tembung.

Saiki sampeyan bisa mbukak script kanthi ngetik perintah ing ngisor iki:

sh helloworld.sh

Tembung "hello world" kudu katon.

Cara liya kanggo mbukak skrip yaiku kaya mangkene:

./helloworld.sh

Kemungkinan sing yen sampeyan nglakokake perintah kasebut ing terminal sampeyan langsung bakal entuk kesalahan ijin.

Kanggo menehi ijin kanggo mbukak script kanthi cara ngetik ing ngisor iki:

sudo chmod + x helloworld.sh

Dadi apa sing bener ana? Apa sampeyan bisa mbukak helloworld.sh tanpa idin ganti nanging mlaku ./helloworld.sh nyebabake masalah?

Metode kapisan ngasilake interpreter bash sing njupuk helloworld.sh minangka input lan ngolah apa sing kudu dilakoni. Interpreter bash wis nduweni idin kanggo mbukak lan mung perlu kanggo mbukak perintah ing script.

Cara liya ngijini sistem operasi gawe apa sing kudu dilakoni karo naskah lan mulane mbutuhake bit eksekusi supaya bisa dieksekusi.

Tulisan ndhuwur iku ok tapi apa sing kedadeyan yen sampeyan pengin nuduhake tanda petik kasebut?

Ana macem-macem cara kanggo entuk iki. Umpamane sampeyan bisa nggawe backslash sadurunge tandha kutip kaya mangkene:

echo \ "hello world \"

Iki bakal ngasilake output "hello world".

Ngenteni menit sanadyan, apa yen sampeyan pengin nampilake \ "halo dunia \"?

Uga sampeyan bisa lolos karakter uwal uga

echo \\ "\" hello world \\ "\"

Iki bakal ngasilake output \ "hello world \".

Saiki aku ngerti apa sing sampeyan pikirake. Nanging aku pengin nampilake \\ "\" hello world \\ "\"

Nggunakake nyuarakke echo karo kabeh karakter uwal iki bisa dadi cukup konyol. Ana printah alternatif sing bisa digunakake printf.

Tuladhane:

printf '% s \ n' '\\ "\" hello world \\ "\"'

Elinga yen teks sing arep dituduhake ing antarane kuotasi siji. Printen printf outputs saka script sampeyan. % S tegese bakal nampilake sawijining string, sing bakal nurunake baris anyar.

Ringkesan

Kita ora nate akeh gaweyan, nanging muga-muga sampeyan duwe skrip pisanan sampeyan.

Ing sisih sabanjuré kita bakal nyawang ningkataké skrip donya hello kanggo nampilake teks ing werna-werna, nampa lan nangani parameter input, variabel lan komentar kode sampeyan.