Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. Scripts
Code

Kekuatan PowerShell, Bagian 2

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called The Power of PowerShell.
The Power of PowerShell, Part 1

Indonesian (Bahasa Indonesia) translation by Ari Ana (you can also view the original English article)

Pada bagian pertama, saya menunjukkan kepada Anda beberapa hal keren yang dapat Anda lakukan dengan PowerShell, meliputi sejarah PowerShell, dan menjelajahi secara mendalam kemampuan PowerShell sebagai bahasa scripting yang kuat yang mendukung pemrograman prosedural, fungsional, dan berorientasi objek.

Pada bagian kedua, saya akan membahas shell interaktif, profil, dan prompt, dan saya akan membandingkan PowerShell terhadap Bash.

PowerShell: Shell Interaktif

PowerShell dirancang dari mendapatkan-pergi sebagai shell interaktif untuk admin Windows sys dan power user. Ini berfokus pada sejumlah kecil konsep, pengalaman yang sangat konsisten, dan pipeline objek untuk rantai dan menggabungkan perintah, menyaringnya, dan memformatnya. Sistem bantuannya yang kuat, yang juga menganut format yang konsisten, adalah kesenangan untuk digunakan.

Mari kita lihat sebagian dari itu dalam aksinya.

Mendapatkan Bantuan

Sistem bantuan yang komprehensif dapat diakses melalui Get-Help.

Untuk mendapatkan bantuan yang lebih mendetail dan melihat contoh, gunakan switch yang tepat: -examples, -details, atau -full.

Jika Anda tidak yakin apa nama perintahnya, cukup gunakan kata kunci dan PowerShell akan menunjukkan kepada Anda semua perintah yang tersedia yang mengandung kata kunci ini. Mari kita lihat cmdlet apa yang terkait dengan CSV yang tersedia:

Saya membuat pipeline kecil di mana saya membatasi panggilan Get-Help hanya ke kategori Cmdlet dan kemudian menyalurkannya ke "select" (alias untuk Select-Object) agar hanya mendapatkan properti "name".

Bekerja dengan File dan Direktori

Anda dapat melakukan hampir semua yang Anda gunakan: menavigasi ke berbagai direktori, mencantumkan file dan sub-direktori, memeriksa isi file, membuat direktori dan file, dll.

Bekerja dengan Penyedia Lain

Dengan PowerShell, Anda dapat memperlakukan banyak hal sebagai sistem file dan menavigasi mereka menggunakan cd dan memeriksa isinya menggunakan ls/dir. Berikut beberapa penyedia tambahan:

Mari kita periksa lingkungan dan lihat variabel lingkungan yang berhubungan dengan Go di luar sana (di mesin saya):

Pemformatan

PowerShell mendorong penyusunan cmdlet dengan switch standar dan membuat pipeline. Pemformatan adalah konsep eksplisit di mana di akhir pipeline Anda memasang formatter. PowerShell secara default memeriksa jenis objek atau objek di ujung pipa dan menerapkan formatter default. Tetapi Anda dapat menimpanya dengan menentukan formatter Anda sendiri. Formatter hanyalah cmdlet. Berikut ini keluaran sebelumnya ditampilkan dalam format daftar:

Profil

Power user yang menggunakan baris perintah sering memiliki banyak tugas, pipeline, dan kombinasi perintah favorit dengan switch default yang mereka sukai. Profil PowerShell adalah file skrip PowerShell yang dimuat dan dijalankan setiap kali Anda memulai sesi baru. Anda dapat meletakkan semua barang favorit Anda di sana, membuat alias dan fungsi, mengatur variabel lingkungan, dan banyak hal lainnya.

Saya suka membuat alias navigasi ke direktori yang sangat berlapis, mengaktifkan lingkungan virtual Python, dan membuat pintasan ke perintah eksternal yang sering saya jalankan, seperti git dan docker.

Bagi saya, profil sangat diperlukan karena perintah dan switche PowerShell yang sangat mudah dibaca dan konsisten sering kali terlalu panjang, dan alias bawaan seringkali menjadi masalah daripada sebuah bantuan (saya diskusikan nanti). Ini adalah cuplikan sebagian dari profil saya:

Prompt

PowerShell memungkinkan Anda menyesuaikan command prompt Anda. Anda perlu menentukan fungsi yang disebut prompt(). Anda dapat melihat fungsi promt bawaan:

Berikut ini adalah fungsi prompt kustom yang menampilkan waktu saat ini di samping direktori saat ini:

PS C:\Users\the_g> function prompt {"$(get-date) $(get-location) > "}

Anda bisa menjadi liar, tentu saja, dan menambahkan warna dan memeriksa berbagai kondisi seperti jika Anda berada di repositori git tertentu atau jika Anda admin.

Alias: Sisi Gelap

PowerShell mempunyai alias salah, menurut saya, pada dua bidang yang terpisah. Pertama, perintah alias hanya memungkinkan penggantian nama perintah. Anda tidak dapat menambahkan penanda atau opsi umum untuk membuat perintah lebih bermanfaat dengan menjadikannya sebagai milik sendiri.

Misalnya, jika Anda ingin mencari dalam teks baris demi baris, Anda dapat menggunakan cmdlet Select-String:

Itu berfungsi, tetapi banyak orang ingin mengganti nama Select-String menjadi grep. Tapi grep secara default case-sensitive, sementara Select-String tidak. Bukan masalah besar—kita hanya akan menambahkan penanda -CaseSensitive, seperti pada:

Set-Alias -Name grep -Value "Select-String -CaseSensitive"

Sayangnya, itu tidak berhasil:

Nilai alias harus berupa cmdlet, fungsi, skrip, atau program. Tidak ada penanda atau argumen yang diizinkan.

Sekarang, Anda dapat melakukannya dengan mudah di PowerShell, tetapi Anda harus menggunakan fungsi dan bukan alias. Itu cukup membatasi alias untuk penggantian nama sederhana, yang juga dapat dilakukan oleh fungsi.

PowerShell vs. Bash

Di sisi shell interaktif, PowerShell dan Bash cukup sama. Bash lebih ringkas secara default, tetapi pipeline objek PowerShell membuat jalur pipa rumit lebih mudah dikelola. ,

Yang mengatakan, Anda mungkin dapat mencapai apa pun dengan salah satu dan jika Anda adalah power user maka Anda akan memiliki alias Anda sendiri, fungsi, dan jalan pintas untuk tugas-tugas umum. Di sisi scripting, PowerShell jauh melampaui Bash, dan untuk tujuan administrasi sistem bahkan mengalahkan Python, Ruby, dan teman-teman.

Aspek penting adalah ketersediaan. Bash sudah diinstal sebelumnya dengan kebanyakan distribusi *nix (kecuali jika secara khusus dilucuti) termasuk macOS. Ini juga dapat diinstal pada Windows melalui cygwin, git-bash, atau msys. PowerShell sudah terinstal di Windows dan baru-baru ini tersedia di Mac dan Linux.

Kesimpulan

Jika Anda menggunakan Windows sebagai mesin pengembangan atau jika Anda mengelola mesin Windows maka PowerShell adalah alat yang sangat diperlukan. Ini benar-benar superset dari shell Unix yang dipikirkan dengan baik, dan sudah terpasang sebelumnya.

PowerShell adalah rekayasa perangkat lunak yang luar biasa di tempat kerja. Ini berkembang lebih dari satu dekade, dan terus berinovasi sambil mempertahankan integritas konseptual aslinya. Switch baru-baru ini ke sumber terbuka dan sinyal lintas platform bahwa masih banyak yang harus ditunggu.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.