Panduan Pemula Untuk BASH - Bahagian 1 - Hello World

Terdapat banyak panduan di internet yang menunjukkan cara membuat skrip Shell menggunakan BASH dan panduan ini bertujuan untuk memberikan spin yang sedikit berbeza kerana ditulis oleh seseorang yang mempunyai pengalaman skrip shell yang sangat sedikit.

Sekarang anda mungkin berfikir bahawa ini adalah idea yang bodoh tetapi saya dapati bahawa sesetengah panduan bercakap dengan anda seolah-olah anda sudah menjadi pakar dan panduan lain mengambil masa terlalu lama untuk memotong untuk mengejar.

Walaupun pengalaman skrip shell LINUX / UNIX saya terhad, saya adalah pemaju perisian dengan perdagangan dan saya tangan tangan pada bahasa skrip seperti PERL, PHP dan VBScript.

Titik panduan ini adalah anda akan belajar semasa saya belajar dan apa-apa maklumat yang saya ambil saya akan menyampaikan kepada anda.

Bermula

Terdapat banyak teori yang boleh saya sampaikan kepada anda dengan segera seperti menerangkan pelbagai jenis shell dan kelebihan menggunakan BASH atas KSH dan CSH.

Kebanyakan orang apabila belajar sesuatu yang baru ingin melompat masuk dan memulakan dengan beberapa pelajaran praktikal terlebih dahulu dan dengan itu saya tidak akan membosankan anda dengan perkara-perkara yang tidak penting sekarang.

Apa yang anda perlukan untuk mengikuti panduan ini adalah editor teks dan terminal berjalan BASH (shell lalai pada kebanyakan pengedaran Linux).

Editor Teks

Panduan lain yang saya baca telah mencadangkan anda memerlukan editor teks yang termasuk pengekodan warna perintah dan editor yang disarankan sama ada VIM atau EMACS .

Pengekodan warna bagus kerana ia menyoroti arahan semasa anda menaipnya tetapi untuk pemula mutlak anda boleh menghabiskan beberapa minggu pertama belajar VIM dan EMACS tanpa menulis satu baris kod.

Dari kedua saya lebih suka EMACS tetapi jujur ​​saya lebih suka menggunakan editor mudah seperti nano , gedit atau leafpad.

Jika anda menulis skrip pada komputer anda sendiri dan anda tahu anda akan sentiasa mempunyai akses kepada persekitaran grafik maka anda boleh memilih editor yang paling sesuai untuk anda dan ia boleh sama ada grafik seperti GEdit atau editor yang berjalan langsung di terminal seperti nano atau vim.

Untuk tujuan panduan ini, saya akan menggunakan nano kerana ia dipasang secara asli pada majoriti pengagihan Linux dan oleh itu kemungkinan bahawa anda akan mendapat akses kepadanya.

Membuka Jendela Terminal

Jika anda menggunakan pengedaran Linux dengan desktop grafik seperti Linux Mint atau Ubuntu anda boleh membuka tetingkap terminal dengan menekan CTRL + ALT + T.

Di mana untuk meletakkan skrip anda

Untuk tujuan tutorial ini, anda boleh meletakkan skrip anda dalam folder di bawah folder rumah anda.

Dalam tetingkap terminal pastikan anda berada di dalam folder rumah anda dengan menaip perintah berikut:

cd ~

Perintah cd bermaksud direktori perubahan dan tilde (~) adalah pintasan untuk folder rumah anda.

Anda boleh menyemak bahawa anda berada di tempat yang betul dengan menaip perintah berikut:

pwd

Perintah pwd akan memberitahu anda direktori kerja semasa anda (di mana anda berada di dalam pokok direktori). Dalam kes saya ia pulang / rumah / gary.

Kini dengan jelas anda tidak mahu meletakkan skrip anda terus ke dalam folder rumah supaya membuat folder dipanggil skrip dengan menaip perintah berikut.

skrip mkdir

Tukar ke dalam folder skrip baru dengan menaip perintah berikut:

skrip cd

Skrip Pertama Anda

Adalah lazim apabila belajar bagaimana program untuk membuat program pertama hanya mengeluarkan kata-kata "Hello World".

Dari dalam folder skrip anda, masukkan arahan berikut:

nano helloworld.sh

Sekarang masukkan kod berikut ke dalam tetingkap nano.

#! / bin / bash echo "hello world"

Tekan CTRL + O untuk menyimpan fail dan CTRL + X untuk keluar dari nano.

Skrip itu sendiri dibuat seperti berikut:

#! / Bin / bash perlu disertakan di bahagian atas semua skrip yang anda tulis kerana ia membolehkan jurubahasa dan sistem operasi tahu cara mengendalikan fail. Pada dasarnya, ingatlah untuk memasukkannya dan lupa mengapa anda melakukannya.

Baris kedua mempunyai arahan tunggal yang dipanggil echo yang menghasilkan teks yang segera mengikutinya.

Perhatikan bahawa jika anda mahu memaparkan lebih daripada satu perkataan, anda perlu menggunakan sebutan berganda (") di sekitar kata-kata.

Anda kini boleh menjalankan skrip dengan menaip perintah berikut:

sh helloworld.sh

Perkataan "halo dunia" sepatutnya muncul.

Cara lain untuk menjalankan skrip adalah seperti berikut:

./helloworld.sh

Kemungkinannya ialah jika anda menjalankan arahan itu di terminal anda, anda akan mendapat ralat kebenaran.

Untuk memberikan kebenaran untuk menjalankan skrip dengan cara ini, taipkan yang berikut:

sudo chmod + x helloworld.sh

Jadi apa sebenarnya yang berlaku di sana? Mengapa anda dapat menjalankan helloworld.sh tanpa mengubah kebenaran tetapi berjalan ./helloworld.sh menyebabkan masalah?

Kaedah pertama memuat penterjemah bash yang mengambil helloworld.sh sebagai input dan berfungsi apa yang perlu dilakukan dengannya. Interpreter bash sudah mempunyai keizinan untuk dijalankan dan hanya perlu menjalankan arahan dalam skrip.

Kaedah kedua membolehkan sistem pengendalian mengerjakan apa yang perlu dilakukan dengan skrip dan oleh itu ia memerlukan bit boleh laku untuk dilaksanakan.

Skrip di atas adalah ok tapi apa yang berlaku jika anda mahu memaparkan tanda petikan?

Terdapat pelbagai cara untuk mencapai matlamat ini. Contohnya, anda boleh meletakkan tanda tunjang sebelum tanda petikan seperti berikut:

echo \ "halo dunia \"

Ini akan menghasilkan keluaran "halo dunia".

Tunggu sebentar, bagaimana jika anda mahu memaparkan \ "halo dunia \"?

Nah, anda juga boleh melarikan diri dari watak-watak melarikan diri

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

Ini akan menghasilkan keluaran \ "hello world \".

Sekarang saya tahu apa yang anda fikirkan. Tetapi saya benar-benar mahu memaparkan \\ "\" halo dunia \\ "\"

Menggunakan echo dengan semua aksara melarikan diri ini boleh menjadi agak bodoh. Terdapat perintah alternatif yang boleh anda gunakan yang disebut printf.

Sebagai contoh:

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

Perhatikan bahawa teks yang kami mahu paparkan adalah di antara petikan tunggal. Perintah printf menghasilkan teks dari skrip anda. % S bermakna ia akan memaparkan rentetan, \ n menghasilkan baris baru.

Ringkasan

Kami tidak pernah membentangkan banyak bahagian tetapi semoga anda mempunyai skrip pertama anda.

Di bahagian seterusnya kita akan melihat peningkatan pada skrip dunia hello untuk memaparkan teks dalam pelbagai warna, menerima dan mengendalikan parameter input, pembolehubah dan mengulas kod anda.