Menu Tutup

Kenapa PowerShell Lebih Baik dari Bash

Bukan rahasia lagi bahwa PowerShell sering dianggap sebagai lingkungan baris perintah yang lebih rendah dibandingkan dengan Bash, tapi mengapa? Mari kita lihat mengapa PowerShell lebih baik daripada Bash setidaknya dalam beberapa hal.

powershell lebih baik

Mengapa Orang Tidak Menyukai PowerShell?

Saat mendengar seseorang membandingkan PowerShell dengan Bash dan mereka mengatakan bahwa Bash adalah lingkungan baris perintah yang lebih baik, mereka sering kali tidak sepenuhnya memahami perbedaan antara keduanya.

Sebelum PowerShell diperkenalkan, profesional TI terjebak dalam penggunaan aplikasi CMD di Windows. Aplikasi CMD berakar kuat pada DOS, OS lama yang berbasis baris perintah. CMD memiliki fungsi yang sama dengan DOS, namun tidak pernah diperbarui dengan fitur-fitur baru.

Bash di sisi lain selalu kaya fitur. Bash memulai hidupnya dengan banyak kemampuan. Bash juga dibangun berdasarkan penggunaan aplikasi Linux kecil untuk melakukan tugas, sehingga mudah diperluas.

Ketika PowerShell diperkenalkan, ini menciptakan paradigma baru dalam manajemen dan konfigurasi komputer. PowerShell dibuat menggunakan .NET pada intinya, jadi awalnya hanya tersedia untuk Windows. Hingga saat ini, .NET dan PowerShell tidak tersedia untuk Linux.

Karena PowerShell dibangun di sekitar .Net, ia memiliki akses langsung ke komponen dan fungsi asli Windows. Ini berarti PowerShell bekerja dengan cara yang berbeda secara fundamental dari Bash.

Di situlah letak kebingungannya. Baik PowerShell dan Linux adalah alat yang berbeda untuk pekerjaan yang berbeda karena cara kerjanya dan berinteraksi dengan sistem operasi. Jadi mari kita bahas beberapa perbedaan mendasar tersebut dan penjelasan mengapa PowerShell lebih baik daripada Bash.

Data sebagai Objek

Salah satu perbedaan terbesar antara PowerShell dan Bash adalah cara keduanya memperlakukan data. Bash memperlakukan data sebagai string sederhana sementara PowerShell memperlakukan data sebagai objek.

Mengapa ini sangat penting?

Banyak platform web menggunakan objek data untuk API mereka. Objek data ini bisa datang dalam berbagai bentuk seperti XML atau JSON. Misalnya jika ingin menggunakan AWS SDK dari Amazon untuk menyimpan file di S3, kalian perlu membuat objek data yang menyimpan informasi seperti nama file, di mana file tersebut ditemukan pada sistem file untuk mentransfernya, yang mana AWS Bucket S3 tempat file perlu ditransfer, izin file itu, dll.

Dengan PowerShell, kalian dapat membuat objek yang menyimpan data tersebut. Kemudian dapat menggunakan AWS SDK untuk mentransfer file tersebut ke S3 menggunakan objek data tersebut.

Kalian tidak dapat melakukan ini dengan Bash. Di Bash, objek data itu akan berupa string sederhana. Kalian perlu menyalurkan string tersebut ke prosesor yang dapat mengurai informasi tersebut, mengubahnya menjadi objek, lalu mengunggah file tersebut ke bucket S3.

Karena PowerShell dapat menangani data sebagai objek, tugas tertentu seperti konfigurasi mesin atau berkomunikasi dengan API bisa menjadi lebih mudah tanpa memerlukan bantuan aplikasi lain.

Lintas Platform

Awalnya PowerShell hanya tersedia di Windows. Pada masa kepemimpinan Bill Gates dan Steve Balmer, Microsoft sangat anti-Linux(atau sistem operasi lain dalam hal ini. Sejak Satya Nadella mengambil alih posisi CEO, Microsoft telah mengubah prioritasnya dari fokus pada Windows sebagai platform pilihannya menjadi Azure. Itu berarti Microsoft perlu merangkul Linux dan Unix.

Penggunaan platform lain oleh Microsoft berarti praktik bisnis mereka berubah secara dramatis. Dengan perubahan itu, Microsoft menjadikan beberapa bagian .NET open source. Karena .NET dijadikan open source, itu berarti alat tradisional Windows lainnya seperti PowerShell juga dapat dibuat untuk platform OS lain.

Dan itulah yang sebenarnya terjadi. Pada tahun 2016 Microsoft merilis versi sumber terbuka pertama PowerShell untuk Linux. Untuk pertama kalinya, PowerShell dapat digunakan di Linux dan Windows.

Bash tersedia di Linux, tetapi mengharuskan pengguna melewati beberapa rintangan sebelum dapat digunakan. Misalnya WSL harus diaktifkan di Windows terlebih dahulu. Kemudian distribusi Linux perlu diinstal dan dikonfigurasi. Setelah langkah-langkah tersebut selesai, Bash dapat digunakan di Windows meskipun masih menimbulkan beberapa masalah tambahan.

Misalnya Linux dalam WSL dapat dimasukkan ke dalam sandbox sampai tingkat tertentu, dan Bash tidak dapat mengakses semua komponen dan fitur Windows yang sama seperti PowerShell.

Itu tidak berarti bahwa PowerShell juga tidak memiliki masalah dengan Linux. Karena PowerShell didasarkan pada .NET pada intinya, PowerShell tidak akan memiliki akses ke semua perintah yang sama di Linux seperti di Windows. Microsoft sedang berupaya untuk menyertakan lebih banyak perintah untuk PowerShell versi sumber terbuka, tetapi sayangnya PowerShell tidak akan pernah memiliki fungsi yang sama seperti PowerShell versi Windows di Linux.

Script

PowerShell adalah bahasa skrip yang sebenarnya. Kalian dapat membuat skrip di Bash, tetapi skrip tersebut biasanya berupa kumpulan instruksi dasar yang menjelaskan cara menjalankan tugas di terminal. Skrip di Bash tidak jauh berbeda dengan memasukkan banyak perintah secara manual. Skrip tersebut masih bergantung pada pemipaan data atau string antar aplikasi yang berbeda.

Di sisi lain, PowerShell adalah bahasa skrip lengkap seperti Python atau JavaScript. Kalian dapat membuat fungsi, mendeklarasikan variabel, membuat objek data, dll dalam skrip PowerShell. Ini membuka banyak pilihan untuk Windows dan Linux. Apa pun yang ingin diotomatisasi dengan Python, mungkin bisa menggunakan PowerShell sebagai gantinya.

CLI mana yang tepat

Pada akhirnya, membandingkan PowerShell dengan Bash seperti membandingkan apel dengan jeruk. Keduanya adalah alat untuk pekerjaan yang berbeda. Jika mengelola lingkungan Windows atau menggunakan Azure, cobalah tetap menggunakan PowerShell. Jika hanya mengelola lingkungan Linux atau Unix, cobalah tetap menggunakan Bash.

Jika mengelola lingkungan campuran, ada baiknya mencoba menggunakan PowerShell untuk beban kerja sebanyak mungkin. Menggunakan satu bahasa dan lingkungan skrip akan membuat pengelolaan skrip tersebut menjadi lebih mudah.

Posted in Windows

Related Posts

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *