Pos Kebencian Shell yang Perkasa

Dahulu kala saya menulis skrip sederhana yang menghapus semua subdirektori dengan nama tertentu di direktori tertentu:

Remove-Item * -Force -Recurse -Include name1,name2,name3 -ErrorAction SilentlyContinue

Saya sudah lama tidak menggunakannya, tetapi sekarang saya membutuhkannya. Saya meluncurkannya - tidak ada yang dihapus.

β€œWTF?”, pikirku. Saya mulai menggali. Saya mengutak-atik, memeriksa semuanya, membuat daftar terlebih dahulu, dan mengubah nama - tetap saja tidak ada yang dihapus. Akhirnya, di dokumen mereka saya membaca: "Sebenarnya, -Include bermasalah jika digunakan bersama dengan -Recurse, jadi gunakan konstruksi kruk.":

Karena parameter Recurse di Hapus-Item memiliki masalah umum, perintah dalam contoh ini menggunakan Get-ChildItem untuk mendapatkan file yang diinginkan, lalu menggunakan operator alur untuk meneruskannya ke Hapus-Item.

Baiklah, saya menulis ulang menggunakan kruk ini. Kesepakatan yang luar biasa - tidak menghapus apa pun. Lebih-lebih lagi, Dapatkan-ChildItem с -Termasuk mengembalikan kekosongan. Sekali lagi, apa pun yang saya lakukan, tidak peduli bagaimana saya mendistorsi parameternya, itu tidak berhasil. Hal utama adalah dengan -Mengecualikan bekerja, tetapi dengan -Termasuk mustahil. Saya menghabiskan sepanjang hari untuk hal ini: Saya terus berpikir bahwa di suatu tempat dalam parameter saya telah melakukan kesalahan, bahwa saya tidak memperhitungkan beberapa nuansa rumit. Dan apa yang terjadi pada akhirnya? Saya menginstalnya di PS7.1 dan berhasil. Bahkan berisi opsi tanpa kruk pertama yang hanya menggunakan Hapus-Item diperoleh. Secara umum, ternyata itu adalah bug mereka.

Namun karena menderita dengan Mighty Shell-nya, saya membuka Google untuk membaca mengapa shell mereka memiliki sintaksis yang menakjubkan. Sial, mereka memposisikannya sebagai .NET untuk konsol, tetapi mereka bahkan tidak mencium sintaks C#. Alih-alih dia…

Bagaimanapun, saya menemukan artikel ini: "Yang Saya Benci Tentang PowerShell". Seperti yang mereka katakan: β€œSaya sangat setuju.”

Saya menduga tim Mighty Shell adalah sekelompok penggemar Bash.

- Mari kita akhirnya membuat konsol untuk Windows di mana Anda dapat menulis skrip yang rumit. Kalau tidak, cmd kita sudah ketinggalan jaman, sehingga kita sudah sedikit malu.
- Ayo! Berdasarkan apa yang akan kita lakukan? Kami sudah memiliki VBScript, JScript. Terakhir, kami memiliki bahasa untuk .NET: C#, VB. Mungkin kita bisa melakukannya di C#? Maksudku, kita akan menggunakan C# sebagai bahasa scripting untuk konsol kita. Selain itu, kami ingin menambahkan kelas .NET di sana.
- Tidak, apa yang kamu lakukan, kawan, C# apa? Geeks sejati menggunakan bash! Jadi mari kita membuat bash untuk Windows. Saya tidak peduli bahwa sintaksis untuk bash rupanya ditulis oleh sekelompok hipster yang mabuk pada tahun 1960an. Secara umum, semakin kompleks semakin baik! Intuitif hanya untuk yang lemah! Saat menulis skrip dalam bahasa kita, pengguna harus mengutuk segala sesuatu di dunia dan menciptakan beberapa kata kutukan baru. Hanya bahasa seperti itu yang berhak untuk hidup. Begini, orang-orang Linux hidup seperti ini sepanjang hidup mereka dan mendapatkan sensasi yang tak bisa dijelaskan dari semua itu. Mengapa keadaan kita menjadi lebih buruk?

Hanya pengguna terdaftar yang dapat berpartisipasi dalam survei. Masuk, silakan.

Apakah Anda menggunakan PowerShell dan merasa nyaman menggunakannya?

  • 30,3%Saya tidak menggunakan40

  • 29,6%Saya mencobanya dan tidak menyukainya39

  • 23,5%Saya menggunakannya dan senang dengan semuanya31

  • 12,9%Saya menggunakannya, tapi saya tidak senang17

  • 3,8%Hore! Akhirnya saya bisa menggunakan bash favorit saya di Windows!5

132 pengguna memilih. 26 pengguna abstain.

Sumber: www.habr.com

Tambah komentar