Laman » bagaimana untuk » Panduan Permulaan untuk Shell Scripting 3 Lebih Banyak Perintah & Rantai Asas

    Panduan Permulaan untuk Shell Scripting 3 Lebih Banyak Perintah & Rantai Asas

    Anda telah belajar bagaimana membuat skrip, menggunakan hujah, dan membina gelung. Sekarang, mari kita lihat beberapa arahan yang lebih asas, manipulasi fail teks, dan mengalihkan input dan output ke fail dan perintah lain.

    Beberapa Perintah Berguna Asas

    Kami telah memberikan anda pecahan asas skrip shell dan garis besar contoh untuk gelung, tetapi pastikan untuk menyemak artikel tersebut jika anda telah melewatkan panduan skrip shell kami setakat ini.

    Barisan arahan itu indah untuk banyak sebab, dan pengalihan adalah salah satu yang paling menonjol. Sekiranya anda perlu membuat nota dan mengeluarkan semula setiap perintah untuk mengambil tindakan selanjutnya atau menggunakannya untuk sesuatu yang lain, maka kita semua sudah lama gila. Pengalih arah membolehkan kami menggunakan output itu dan menyimpannya atau segera menggunakannya sebagai input untuk arahan lain. Kita juga boleh menggunakan fail sebagai input untuk arahan lain.

    Sebelum kita pergi, mari kita tutup beberapa arahan asas yang boleh digunakan di banyak tempat yang berbeza.

    echo - Perintah ini hanya mencetak (memaparkan) seluruh hujahnya pada baris arahan sebagai output

    hujah echo dengan ruang

    Seperti yang anda dapat lihat, watak-watak khas perlu "melarikan diri" supaya mereka dirawat secara normal. Ini dilakukan dengan menggunakan backslash (\) di hadapan watak. Idea yang lebih baik untuk menggunakan sebut harga. Perintah echo juga berfungsi dengan pembolehubah.

    Seperti yang anda lihat, petikan tunggal dan berganda berkelakuan berbeza. Untuk maklumat lanjut, periksa Apa Perbezaan antara Petikan Tunggal dan Ganda di Bash Shell?

    kucing - Perintah ini memaparkan kandungan fail teks sebagai output.

    cat file_to_be_read

    Katakan kita membuat fail teks ini di nano:

    Apabila kita menggunakan arahan kucing pada fail, kita dapat melihat output itu.

    grep - Ini adalah salah satu perintah yang paling berkuasa dan bermanfaat yang tersedia untuk anda di Linux. Ia bermaksud Cetak Percetakan Global / Biasa. Ia kelihatan melalui fail dan mencetak sebarang baris yang sepadan dengan corak tertentu. Kerana corak ini didasarkan pada "ungkapan biasa", garis ringkas dapat menghasilkan banyak corak yang dapat dipadankan. Kerana tidak, anda boleh memasukkan tern untuk mencari.

    fail corak grep

    Saya memberi jaminan kepada anda, boleh melakukan lebih banyak lagi, tetapi sekarang mari kita berpegang pada perkara yang lebih mudah.

    Mengalihkan Output

    Untuk mengalihkan output arahan kepada fail, kami menggunakan karakter khas, lebih besar daripada simbol (>).

    Mari kita ubah senarai kita, adakah kita? Masukkan arahan berikut:

    senarai echo pepperoni>

    Anda dapat melihat bahawa echo tidak memaparkan baris lagi, dan apabila kita melihat kandungan "senarai" fail, kita melihat apa yang kita bergema di sana.

    Juga ambil perhatian bahawa kandungan "senarai" terdahulu telah dialih keluar. Cuba lagi:

    Ini berguna apabila anda mahu menggunakan semula fail, tetapi seringkali kita hanya mahu menambah fail sedia ada. Untuk ini, kami menggunakan dua simbol yang berturut-turut berturut-turut:

    senarai >> lek kuning >>

    Mudah! Mari kita gunakan arahan ini untuk membuat senarai yang lebih besar, bolehkah kita?

    Di sana kita pergi. Saya fikir anda dapat melihat mengapa geeks begitu banyak menggunakan garis arahan untuk membuat senarai tugasan dan sebagainya, tetapi ia menjadi lebih baik.

    Mari kita keluarkan output perintah dan masukkan ke dalam fail:

    ls -al /> ~ / rootlist

    Membuat senarai fail, menyuntingnya, dan kemudian menjalankan perintah pada yang anda mahu tidak pernah lebih mudah. Dan, ketika kita sedang melakukan fungsi-fungsi asas dalam baris perintah, ini berfungsi dengan baik dalam skrip juga.

    Piping, atau Chaining

    Piping bernama begitu kerana ia menggunakan paip, (bersama dengan kekunci \ pada kebanyakan papan kekunci). Pada asasnya, ia mengambil output satu arahan dan secara langsung memberi suapan kepada yang lain. Anda boleh membuat rantaian arahan yang panjang untuk mendapatkan output yang dikehendaki dengan cara ini, dan ia sangat mudah untuk arahan seperti grep.

    Ia bertindak seperti ">" kecuali ia boleh dirangka beberapa kali dan kesannya lebih umum kerana ia tidak perlu melalui fail teks.

    Seperti yang anda dapat lihat, grep adalah sensitif huruf. Anda boleh menggunakan bendera "-i" untuk menjadikannya mengabaikan kes.

    Mengalihkan Input

    Anda juga boleh mengambil input dari fail untuk arahan dengan menggunakan simbol kurang daripada (<).

    kucing < list

    "Itu tidak berbeza daripada menggunakan hujah!" Mungkin anda katakan. Nah, anda akan betul dalam kes ini. Di mana pengalihan semula input benar-benar berguna adalah dalam mengendalikan arahan bersama.

    Katakan kita ingin menapis apa-apa perkataan yang "pep" di dalamnya dari fail "senarai" semasa kami ke dalam fail baru yang disebut "revisi".

    semakan semula semakan

    Mari buat semula arahan ini, dan tambahkan beberapa pengisihan.

    semakan semula semakan

    Ini akan menggunakan "pep" sebagai istilah carian dari "senarai" input, menyusunnya mengikut susunan abjad (semua istilah huruf besar yang diikuti oleh semua istilah huruf kecil), kemudian keluarkannya ke dalam fail "revisi".

    Untuk menggambarkan arahan jenis, mari lihat contoh berikut:

    Seperti yang anda lihat, menambah bendera "-f" kepada arahan jenis membolehkan anda mengabaikan kes. Ini memudahkan kita untuk menyusun huruf dalam fail teks dan mengabaikan permodalan apabila tidak penting.

    Skrip Mudah

    Mari buat skrip yang mempunyai bentuk berikut:

    senarai senarai carian skrip

    Ia akan mengambil masa dan menggunakan grep untuk mencari melalui fail senarai, menyusun hasilnya, dan kemudian outputnya ke fail lain.

    Inilah direktori yang akan kami uji skrip di:

    Dan, kita boleh membuat senarai apa yang ada di sini, kemudian jalankan skrip.

    Itupun dia! Semakin banyak anda mempelajari peraturan ungkapan biasa, lebih tepat anda boleh menyusun arahan carian. Dan, apa-apa yang sah dalam sebut harga boleh digantikan untuk hujah pertama anda!

    Sejauh mengurut, anda boleh melakukan lebih daripada sekadar mengikut abjad. Lihat halaman lelaki untuk beberapa arahan berikut:

    • tsort - fungsi sorting topologi yang lebih maju
    • tr - membolehkan anda memetakan aksara khusus kepada aksara lain, dan transkripsi di antara mereka.
    • uniq - membuang mana-mana yang tidak unik (dibaca: pendua)
    • awk - bahasa / fungsi pemprosesan teks yang sangat maju yang boleh digunakan untuk memisahkan medan dalam nama fail
    • potong, tampal / gabung - arahan yang berguna untuk mengasingkan medan daripada fail teks dan menambah data baru ke dalam lajur
    • cari - carian seperti grep tidak, tetapi menggunakan fail kamus (yang boleh ditentukan pengguna) untuk carian
    • wc - membolehkan anda mendapatkan kiraan perkataan, kiraan baris, kiraan aksara dan banyak lagi

    Kami melihat lebih banyak lagi asas-asas hari ini yang boleh menjadi berguna pada baris arahan seperti dalam skrip. Data berasaskan teks selalunya berada di tengah-tengah perkara yang kita gunakan setiap hari, jadi dapat bekerja dengannya, cari, dan memanipulasi ia adalah kunci.

    Apakah beberapa skrip kegemaran anda? Ada skrip penggunaan khusus untuk fail berasaskan teks? Kongsi apa yang anda tahu dalam ulasan!