Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 2
- 765
- 182
- Hector Kuhic
Dalam seri ini kami sedang mengeksplorasi berbagai tips, trik, dan contoh baris perintah bash yang akan membantu Anda menjadi pengguna dan coder bash yang lebih maju. Bash menyediakan bahasa skrip dan pengkodean yang kaya yang mengembalikan daya di tangan pengguna dan pengembang. Bash juga memungkinkan Anda untuk belajar saat Anda melanjutkan, sehingga menjadikannya pengalaman yang lebih menyenangkan. Untuk artikel pertama dalam seri kami, silakan lihat artikel kami Tips dan Trik Contoh Baris Bash Berguna BAGIAN 1.
Dalam seri tutorial ini Anda akan belajar:
- Tips, trik, dan metode baris perintah bash yang bermanfaat
- Cara berinteraksi dengan baris perintah bash secara canggih
- Cara mempertajam keterampilan bash Anda secara keseluruhan dan menjadi pengguna bash yang lebih mahir
Persyaratan dan konvensi perangkat lunak yang digunakan
Kategori | Persyaratan, konvensi atau versi perangkat lunak yang digunakan |
---|---|
Sistem | Distribusi Linux-independen |
Perangkat lunak | Baris perintah bash, sistem berbasis Linux |
Lainnya | Utilitas apa pun yang tidak termasuk dalam shell bash secara default dapat diinstal menggunakan sudo apt-get install-name utilitas (atau instalasi yum untuk sistem berbasis redhat) |
Konvensi | # - mengharuskan Linux -Commands untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah$-mengharuskan Linux-Commands untuk dieksekusi sebagai pengguna biasa |
Contoh 1: Menangkap alamat IP ilusif itu
Kadang -kadang, skrip kami perlu tahu apa alamat IP mesin kami. Ada beberapa metode yang berbeda, meskipun tidak ada yang sepenuhnya mudah. Misalnya, memiliki berbagai adaptor jaringan di satu komputer dapat membuat perubahan dalam output oleh berbagai perintah. Juga, beberapa perintah memiliki keterbatasan.
Misalnya, nama host
Perintah dengan jelas menyatakan dalam manualnya (untuk -SAYA
opsi) bahwa itu akan menampilkan semua alamat jaringan host, tetapi tidak membuat asumsi tentang urutan output. Dengan demikian tampaknya menggunakan nama host
mungkin bukan pilihan terbaik.
Contoh yang diberikan di sini adalah untuk memberdayakan Anda dan memberikan beberapa saran untuk eksplorasi lebih lanjut dan peningkatan lingkungan dan/atau peningkatan umum. Pengetahuan tentang mesin yang dipertanyakan, atau jaringan yang digunakan akan memungkinkan seseorang untuk mengubah perintah ini menjadi skrip pengambilan alamat IP yang lebih stabil.
$ Miip = "$ (ip a | grep 'inet.*Global '| Grep -V Docker | Sed's |.*inet || ' | grep -o "^[\.0-9] \+")"; echo "$ myip" 10.10.0.20 $ myip = "$ (rute ip -s dapatkan 1 | grep -o" src [\.0-9] \+"| grep -o" [\.0-9] \+")"; echo "$ myip" 10.10.0.20
Dalam perintah pertama, kami menggunakan ip a
(alamat IP) Perintah untuk mengambil daftar semua alamat IP yang ditetapkan untuk mesin ini. Anda dapat mengetik ip a
perintah langsung di baris perintah bash untuk melihat seperti apa output itu.
Kami selanjutnya memudarkan semua global inet
Adaptor, dan menghapus koneksi jaringan Docker apa pun dari daftar (Anda dapat melihat ini tidak sempurna; perangkat lunak lain dapat membuat antarmuka jaringan lain, misalnya ssh
atau program virtualisasi lainnya seperti VirtualBox
, yang juga membutuhkan penyaringan).
Kami kemudian memproses input lebih lanjut sed
Untuk menghapus informasi hingga inet
. Akhirnya, kami GREP untuk IP yang sebenarnya dengan a Grep saja
Saya.e. grep -o
Perintah yang menggunakan ekspresi reguler untuk mengambil alamat IP lengkap (IPv4).
Untuk mempelajari lebih lanjut tentang ekspresi reguler, lihat Bash Regexps kami untuk pemula dengan contoh dan canggih Bash Regex dengan contoh artikel.
Anda juga dapat melihat lagi bagaimana ada batasan di sini; Cara Menggabungkan Alamat IP IPv6, Cara Mengetahui Apa Alamat IP Utama Saat Ada Beberapa Adaptor dll.
Di perintah kedua, kami mencari rute pertama di mesin dengan rute ip -s mendapatkan 1
dan kemudian memproses output dengan cara yang sama. Ini berpotensi lebih stabil untuk setidaknya menemukan alamat ipv4 utama mesin.
Beri tahu kami metode terbaik Anda untuk mendapatkan IP, dan mungkin alamat IPv4 utama menggunakan Bash Scripting di komentar di bawah!
Contoh 2: Risiko globbing dan kebutuhan untuk mengutip dengan benar
$ touch a b c $ echo "$ (echo"*")"*$ echo $ (echo "*") a b c
Dalam contoh ini, kami pertama kali membuat 3 file, A
, B
Dan C
, dan selanjutnya kita menjalankan dua gema. Echo pertama dengan benar mengutip *
dihasilkan dari echo "*"
di dalam subshell $ ()
, menghasilkan literal *
menjadi output oleh gema pertama dalam perintah. Perintah Echo kedua tidak mengutip dengan benar *
Dan karena itu pesta seperti itu terjadi; itu *
dilihat sebagai pengidentifikasi nama file, dan file -file tersebut sedang terdaftar dan diteruskan ke Fist Echo. Untuk mengklarifikasi ini, pertimbangkan:
$ echo * a b c
Dengan demikian, kami melihat kebutuhan untuk selalu mengutip teks apa pun yang dapat diartikan sebagai nama file, bahkan jika teks seperti itu sudah dikutip dengan benar di dalam subkilas, seperti halnya di sini ($ (echo "*")
: Perhatikan yang dikutip *
).
Kesimpulan
Dalam artikel ini, kami melihat cara mendapatkan alamat IP menggunakan berbagai metode dan mempertimbangkan memperluas ini agar sesuai dengan berbagai lingkungan. Kami juga mengeksplorasi pesta gumpalan, dan kebutuhan untuk mengutip teks yang dapat diartikan sebagai nama file dengan benar, untuk menghindari globbing.
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 1
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 2
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 3
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 4
- Contoh dan trik Contoh Tip Baris Bash Berguna - Bagian 5
Tutorial Linux Terkait:
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Menguasai loop skrip bash
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Loop bersarang dalam skrip bash
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 1
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Ubuntu 20.04 Panduan
- Ubuntu 20.04 trik dan hal -hal yang mungkin tidak Anda ketahui
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 3
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 4
- « Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 1
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 3 »