Nah, masalah pertama Anda adalah Anda membandingkan shell (PowerShell) dengan terminal. Di Linux, terminal adalah sesuatu yang mengirim dan menerima I / O berbasis karakter dan diasumsikan memiliki pengguna interaktif di belakangnya (dengan kata lain, itu adalah aplikasi GUI yang dulu berisi shell). Salah satu cangkang yang paling umum dijalankan dalam Terminal Ubuntu adalah Bash , tetapi ada yang lain.
Orang offline memberi tahu saya, tanpa menjelaskan banyak hal, bahwa Windows PowerShell adalah upaya untuk membuat administrator Unix merasa lebih nyaman menggunakan Windows.
Sungguh, hal yang benar untuk dikatakan adalah bahwa PowerShell adalah Windows yang mengekspos banyak model objek WMI , COM dan .NET dalam lingkungan baris perintah yang interaktif dan skrip - dan bahwa lingkungan baris perintah ini terus meminjam banyak konsep - seperti pipa dan I / O redirection - dari shell Unix, seperti DOS lama (2.0 dan lebih tinggi) command.com
dan cmd.exe
lakukan. Pipeline bekerja dengan objek di PowerShell. Anda dapat melakukan hal-hal seperti membuat HTML dan mungkin spreadsheet Excel dengan cepat jika Anda cukup tahu. Ini tentu saja merupakan upgrade / penggantian dari cmd.exe
shell lama yang tidak banyak berubah dari Windows NT 4.0 .
Mengenai sintaks, ini kurang seperti shell Unix (meskipun akhirnya tidak ada cmdlet yang digunakan /
sebagai indikator saklar atau parameter), tetapi ada banyak alias untuk perintah Unix klasik - seperti memasukkan ls
di jendela PowerShell akan bekerja seperti dir
. Tapi ini hanya alias ("Get-Alias" daftar ini?).
Mengenai kemampuan PowerShell, Anda benar-benar memiliki kemampuan yang sama, secara skrip-satunya, dari VBScript dan CScript - meskipun keduanya .NET.
Satu hal yang tidak harus dilakukan oleh orang-orang Unix ketika menggunakan Bash sebagian besar waktu adalah menjadi akrab dengan programmer atau objek model objek yang mungkin sangat rumit, yang diperlukan untuk banyak tugas PowerShell canggih dan sederhana. Tetapi ini hanya mungkin karena ada konvensi yang jelas tentang output teks langsung untuk banyak perintah POSIX standar . Windows tidak memiliki tradisi ini - sepertinya Anda lebih suka menggunakan mmc
konsol untuk tugas administrasi, dengan perintah yang ditambahkan di sana-sini selama bertahun-tahun. Selain itu, banyak terkenal utilitas Unix yang kompleks dan membutuhkan beberapa studi sebelum digunakan - rsync
, wget
, dan banyak lainnya. Efisiensi mungkin merupakan fungsi dari seberapa baik seseorang mengetahui alat yang mereka gunakan lebih dari apa pun.