Tugas praktis untuk mempelajari skrip shell [ditutup]

12

Saya mencari beberapa masalah umum dalam administrasi sistem unix dan cara-cara shell scripting dapat menyelesaikannya. Sepenuhnya untuk tujuan pendidikan mandiri. Saya juga ingin tahu bagaimana Anda mempelajari shell scripting.

Eimantas
sumber

Jawaban:

15

Kapan pun Anda PERNAH menemukan diri Anda melakukan sesuatu beberapa kali, tuliskan. Berpikirlah semalas mungkin. Komputer dibangun untuk melakukan semua omong kosong kasar itu. Segala hal yang berbau seperti pekerjaan sibuk membutuhkan skrip shell.

Secara pribadi, saya belajar dengan mencari-cari di Slackware selama beberapa tahun. Lihat apa yang terjadi ketika Anda menghapus sistem Anda sebanyak mungkin. Belajar untuk merasa nyaman dengan teks. Sementara semua orang lain memuji NetworkManager, pelajari betapa sederhananya membuat NetworkManager sialan itu sendiri. Tentu, ini mungkin tidak memiliki banyak kasus penggunaan, tetapi Anda dapat menjalankan dan menjalankan sesuatu, menghubungkan secara dinamis melalui ethernet dan nirkabel sesuai permintaan dengan cukup sederhana.

Eli Frey
sumber
6

Saya ingin merekomendasikan kembali ketiga buku yang saya sarankan di utas lain, ini menurut saya buku terbaik untuk masuk ke semangat Unix:

  • Lingkungan Pemrograman Unix dari Kernighan dan Pike
  • Unix untuk yang Tidak Sabar
  • Alat Daya Unix O'Reilly.

Yang pertama sudah tua, sangat tua, tetapi singkat, bacaan singkat dan akan memberi Anda cangkang shell yang Anda butuhkan (ekspresi reguler, sed, jalur pipa).

Yang kedua sangat menghibur.

Yang ketiga adalah kumpulan trik "terbaik" dari para master Unix di tahun 90-an (Saat itulah saya membacanya). Buku itu terus diedit ulang, jadi saya yakin buku ini mengandung banyak nugget baru.

miguel.de.icaza
sumber
+1 untuk Lingkungan Pemrograman Unix. Setelah membaca ini, tiba-tiba Unix membuatku lebih masuk akal. Sedikit wahyu :-)
dr-Januari
Lingkungan Pemrograman Unix adalah salah satu dari sedikit buku yang mencakup "dokumen sini" sama sekali. Anda dapat melakukan banyak hal dengan "dokumen di sini" yang menurut banyak orang tidak mungkin dilakukan dalam satu file.
Bruce Ediger
2

Cara mempelajarinya: Jatuh cinta dengan baris perintah. Gunakan secara teratur dan sering-seringlah menarik halaman manual. Seringkali, bahkan. Ketika saya pertama kali belajar scripting, saya tidak bisa menghitung berapa kali saya mengetik man bash. Saya juga tidak bisa menghitung berapa kali saya membuka halaman manual untuk perintah lain.

Kevin M.
sumber
1
+1 ke Kevin. Saya belajar menulis dengan cara yang sama. Skenario biasanya adalah bahwa saya perlu memproses file data COBOL ini (ya, sejauh itu ... tapi ini COBOL pada UNIX, bukan pada Mainframe !!). Alih-alih cranking kode COBOL, saya akan menjalankan awk (bahkan tidak perl karena tidak diinstal pada server kami), dan melakukan hal-hal seperti 50 pelanggan melaporkan :-)
Saya menggunakan xterm(atau terminal apa pun, jika itu penting) sebagai pengelola file utama saya. Jadi, saya agak memaksakan diri untuk menggunakan shell ALL the time, yang membuat saya belajar dan mengembangkan beberapa trik dari waktu ke waktu.
Denilson Sá Maia
2

Saya mempelajarinya dengan menulis alat pemantauan. Itu akan terhubung ke banyak mesin melalui ssh dan mengumpulkan data seperti uptime, memuat, jumlah koneksi aktif, pemanfaatan memori dan hal-hal seperti itu. Di mesin lokal saya akan menunjukkan data itu sebagai tabel teks.

EricSchaefer
sumber
1

Saya kedua rekomendasi Miguel dari 'Lingkungan Pemrograman Unix'. Ini benar-benar tua tetapi bagaimana saya belajar hampir semua yang saya tahu tentang shell dan karena begitu lama Anda bisa mendapatkannya hanya dengan beberapa dolar di amazon: http://is.gd/eiSn6

jacksonh
sumber
0

Temukan buku atau manual dan perlakukan cangkang pilihan Anda seperti bahasa pemrograman. (Yah, mungkin tidak csh ...)

Sebagai permulaan, pelajari cara mengetahui apakah Anda berada di shell Bash, shell Bourne, csh, zsh, atau apa pun. Beberapa di antaranya mirip dengan satu sama lain seperti C dan C ++ - sangat berbeda - jadi mengetahui mana yang Anda lawan akan membantu Anda menemukan contoh dan manual yang benar-benar akan membantu dalam situasi tertentu.


sumber