Apakah Skrip Shell dan Mengapa Anda Perlu Menggunakannya

Apakah Skrip Shell dan Mengapa Anda Perlu Menggunakannya

Shell adalah program dalam sistem operasi Linux atau Unix yang membolehkan anda memasukkan perintah untuk dilaksanakan oleh sistem. Apabila tetingkap terminal dibuka pada komputer linux, ia memulakan program shell yang menghadirkan antara muka untuk memasukkan perintah. Antaramuka ini dikenali sebagai antara muka baris perintah. Ketika perintah dimasukkan, perintah tersebut dijalankan oleh shell dan outputnya ditampilkan di layar.





Selain dapat menerima dan melaksanakan perintah secara interaktif, shell juga dapat melaksanakan perintah yang disimpan dalam file. Kaedah pelaksanaan ini dikenali sebagai skrip shell , dan dalam artikel ini kita membahas asas-asas skrip shell.





1. Sejarah Cengkerang

Bermula dengan Unix pada tahun 1970-an, ada program shell yang disebut Shell V6 dibangunkan oleh Ken Thomson. Itu adalah shell interaktif dan tidak mempunyai kemampuan skrip.





Ia diikuti oleh Bourne Shell pada tahun 1977 dan masih digunakan hari ini sebagai shell lalai untuk akar akaun. Cangkang ini menambahkan kemampuan menulis yang terbukti sangat berguna dalam praktik selama bertahun-tahun.

Pengembangan shell yang lebih lanjut pada tahun 1980-an menimbulkan banyak varian shell yang popular, yang paling popular adalah C-Shell dan juga Shell Korn . Setiap cangkang ini membawa sintaksnya sendiri yang, dalam kes tertentu, sangat berbeza dengan cangkang asalnya.



Salah satu cengkerang yang paling popular hari ini adalah Shell Shell . Bash bermaksud Bourne-Again-Shell dan merupakan varian Bourne Shell yang sangat baik.

bagaimana untuk mengetahui sama ada cakera keras anda gagal

Dalam artikel ini, kami menerangkan skrip shell untuk Shell Shell .





2. Melaksanakan Skrip Shell

Bagaimana anda melaksanakan skrip shell? Ringkas. Cukup lulus jalan skrip sebagai argumen ke shell:

Contoh skrip shell:





echo 'hello world'

Jalankan seperti berikut:

$ bash hello.sh
# prints
hello world

Catatan: Shell memerlukan garis untuk ditamatkan oleh watak LF (Line-Feed). Sekiranya anda menulis skrip shell anda di Windows dan cuba melaksanakannya secara langsung pada sistem Linux, anda mungkin mengalami kesilapan. Windows menggunakan kombinasi CR-LF (Carriage-Return-Line-Feed) untuk penamatan talian. Ini perlu ditukar kepada LF sahaja. Periksa editor Windows anda untuk mengetahui cara melakukannya.

Ada cara lain untuk melaksanakan skrip shell secara langsung sebagai perintah. Masukkan baris berikut ( hashbang deklarasi) sebagai baris pertama skrip shell anda.

cara membetulkan port usb
#!/bin/bash

Dengan perubahan ini, skrip shell sederhana kami kini:

#!/bin/bash
echo 'hello world'

Sekarang, anda perlu membuat fail skrip dapat dilaksanakan seperti berikut:

$ chmod +x hello.sh

Pada ketika ini, anda dapat melaksanakan fail skrip secara langsung tanpa perlu merujuk shell secara eksplisit.

$ hello.sh
# prints
hello world

Mari kita lihat beberapa kelebihan menggunakan skrip shell.

3. Automasi Tugas

Kelebihan pertama menggunakan skrip shell adalah mengotomatisasi tugas yang sering dilaksanakan. Katakan anda mempunyai tugas yang perlu anda laksanakan setiap hari. Sekiranya anda perlu melaksanakan beberapa perintah pada sistem linux anda setiap hari, anda boleh menyimpan perintah ini dalam fail dan menjalankan skripnya. Contohnya merangkumi:

  • Arkibkan dan muat naik fail atau folder setiap hari ke a kemudahan penyimpanan awan seperti S3.
  • Memampatkan fail log yang cenderung berkembang setiap hari.
  • Ambil harga saham, menguraikan data yang diambil, dan mencetuskan e-mel atau SMS apabila syarat tertentu dipenuhi (harga terlalu tinggi atau terlalu rendah).

4. Menggabungkan Pelbagai Perintah

Selain mengautomasikan tugas yang kerap, anda mungkin juga menguntungkan bahawa anda dapat menggabungkan beberapa urutan perintah menjadi satu perintah. Mengingat satu perintah jauh lebih mudah daripada banyak perintah, apatah lagi urutan di mana ia mesti dilaksanakan.

Contohnya ialah urutan boot-up dari Sistem Operasi Linux itu sendiri. Sebagai bahagian boot-up, OS menjalankan sejumlah perintah untuk membuat sistem dalam keadaan yang betul. Perintah ini sebenarnya skrip shell yang hidup di bawah /dan lain-lain direktori. Sekiranya anda melihat salah satu skrip shell ini, anda akan menyedari kerumitan boot sistem, yang mungkin anda harus lakukan dengan tangan sendiri sekiranya tidak terdapat skrip shell.

Berikut adalah contoh skrip shell, / etc / profil , yang dilaksanakan setiap kali pengguna log masuk. Bayangkan mengetik perintah ini dengan tangan!

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ '$PS1' ]; then
if [ '$BASH' ] && [ '$BASH' != '/bin/sh' ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='h:w$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ '`id -u`' -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi

5. Lebih Mudah Dibangunkan

Adalah mungkin untuk melakukan tindakan yang sama seperti skrip shell di dalam program biasa yang ditulis dalam C / C ++. Walau bagaimanapun, jauh lebih mudah untuk menulis dan men-debug skrip shell daripada program C / C ++. Terutama untuk tugas-tugas pentadbiran sistem yang merangkumi pelaksanaan perintah luaran, membuat dan membuang fail dan direktori, mengarahkan output, dll.

Program C / C ++ lebih baik untuk tahap operasi yang jauh lebih rendah, seperti memanggil panggilan sistem, memanipulasi struktur data, dll.

6. Ketelusan

Skrip shell, berdasarkan file teks, dapat dilihat dengan mudah untuk memeriksa tindakan apa yang dilakukannya. Sebaliknya, satu-satunya cara anda akan mengetahui apa yang dilakukan oleh program yang ditulis dalam bahasa seperti C / C ++ (dan dikompilasi kepada yang dapat dijalankan) adalah jika ia memilih untuk memberitahu anda atau jika anda mempunyai akses ke kod sumber. Sebagai contoh, anda dapat memeriksa apakah skrip shell menghapus fail apa pun, dan jika anda memerlukan fail tersebut, anda boleh menyalinnya ke lokasi lain.

Lebih mudah untuk mendiagnosis masalah dengan skrip shell daripada program biasa kerana anda dapat melihat kod sumbernya. Adakah skrip itu gagal kerana direktori tidak ada? Anda dapat melihat dalam kod skrip dan membuat direktori (walaupun skrip shell yang berkelakuan baik harus memeriksa dan membuatnya untuk mengelakkan kesalahan tersebut).

7. Mudah alih

KE skrip shell boleh dipindahkan ke sistem operasi Unix dan seperti Unix yang lain dan dilaksanakan (jika cangkang itu sendiri ada). Walaupun memindahkan skrip shell dari arkitek yang berbeza seperti x86, MIPS, Sparc, dll, skrip shell jauh lebih mudah alih daripada program C / C ++.

Satu-satunya cara program C / C ++ dapat dipindahkan dan digunakan pada sistem lain adalah menyalin kod sumber, membangun program, dan berusaha menjalankannya. Walaupun begitu, ia mungkin tidak berfungsi seperti yang diharapkan jika menggunakan kod khusus seni bina.

Sekarang setelah anda tahu apa skrip shell dan banyak kelebihannya, tidakkah anda ingin menggunakannya untuk tugas anda? Masalah apa yang anda hadapi semasa menggunakannya? Beritahu kami dalam komen di bawah.

jual bahagian komputer dengan wang tunai berhampiran saya
Berkongsi Berkongsi Tweet E-mel 5 Petua untuk Meningkatkan Mesin Linux VirtualBox Anda

Bosan dengan prestasi buruk yang ditawarkan oleh mesin maya? Inilah yang harus anda lakukan untuk meningkatkan prestasi VirtualBox anda.

Baca Seterusnya
Topik-topik yang berkaitan
  • Pengaturcaraan
  • Linux Bash Shell
Mengenai Pengarang Jay Sridhar(17 Artikel Diterbitkan) Lagi Dari Jay Sridhar

Langgan buletin kami

Sertailah buletin kami untuk mendapatkan petua, ulasan, ebook percuma, dan tawaran eksklusif!

Klik di sini untuk melanggan