Jawatan Benci Mighty Shell

Lama dahulu saya menulis skrip mudah yang memadamkan semua subdirektori dengan nama yang diberikan dalam direktori tertentu:

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

Saya sudah lama tidak menggunakannya, tetapi sekarang saya memerlukannya. Saya melancarkannya - tiada apa yang dipadamkan.

"WTF?", saya fikir. Saya mula menggali. Saya bermain-main dan bermain-main, meneliti segala-galanya, membuat senarai lebih awal, dan menukar nama - masih tiada apa-apa yang dipadamkan. Akhirnya, dalam dokumen mereka saya membaca: "Sebenarnya, -Include adalah buggy apabila digunakan bersama -Recurse, jadi gunakan binaan kruk.":

Oleh kerana parameter Recurse dalam Remove-Item mempunyai isu yang diketahui, arahan dalam contoh ini menggunakan Get-ChildItem untuk mendapatkan fail yang diingini, dan kemudian menggunakan operator saluran paip untuk menghantarnya ke Remove-Item.

Baiklah, saya menulis semula menggunakan tongkat ini. Satu perjanjian yang hebat - ia tidak memadamkan apa-apa. Lebih-lebih lagi, Get-ChildItem с -Sertakan mengembalikan kekosongan. Sekali lagi, tidak kira apa yang saya lakukan, tidak kira bagaimana saya memutarbelitkan parameter, ia tidak berfungsi. Perkara utama adalah dengan -Kecualikan berfungsi, tetapi dengan -Sertakan tiada cara. Saya menghabiskan sepanjang hari untuk perkara ini: Saya terus berfikir bahawa di suatu tempat dalam parameter yang saya telah kacau, bahawa saya tidak mengambil kira beberapa nuansa rumit. Dan apa yang berlaku pada akhirnya? Saya memasangnya pada PS7.1 dan ia berfungsi. Ia juga mengandungi pilihan tanpa kruk pertama menggunakan sahaja Keluarkan-Item diperolehi. Secara umum, ia ternyata pepijat mereka.

Tetapi setelah menderita dengan Mighty Shell mereka, saya pergi ke Google untuk membaca mengapa shell mereka mempunyai sintaks yang begitu mencengangkan. Sial, mereka meletakkannya sebagai .NET untuk konsol, tetapi mereka tidak mencium sintaks C#. Daripada dia…

Bagaimanapun, saya terjumpa artikel ini: "Perkara yang Saya Benci Mengenai PowerShell". Seperti yang mereka katakan: "Saya tidak boleh bersetuju lagi."

Saya mengesyaki bahawa pasukan Mighty Shell adalah sekumpulan peminat Bash.

- Akhirnya mari kita buat konsol untuk Windows di mana anda boleh menulis skrip yang kompleks. Jika tidak, cmd kita sudah lapuk sehinggakan kita sudah agak malu.
- Jom! Berdasarkan apa yang akan kita lakukan? Kami sudah mempunyai VBScript, JScript. Akhirnya, kami mempunyai bahasa untuk .NET: C#, VB. Mungkin kita boleh melakukannya dalam C#? Maksud saya, kami akan menggunakan C# sebagai bahasa skrip untuk konsol kami. Selain itu, kami ingin menambah kelas .NET di sana.
- Tidak, apa yang kamu lakukan, kawan, C# apa? Geeks sebenar menggunakan bash! Jadi mari buat bash untuk Windows. Saya tidak kisah bahawa sintaks untuk bash nampaknya ditulis oleh sekumpulan hipster yang direjam pada tahun 1960-an. Secara umum, lebih kompleks lebih baik! Intuitif adalah untuk mereka yang lemah! Apabila menulis skrip dalam bahasa kita, pengguna mesti mengutuk segala-galanya di dunia dan mencipta beberapa perkataan sumpahan baharu. Hanya bahasa sebegitu sahaja yang berhak untuk hidup. Lihat, orang Linux hidup seperti ini sepanjang hidup mereka dan mendapat keseronokan yang tidak dapat dijelaskan daripada semua itu. Mengapa kita lebih teruk?

Hanya pengguna berdaftar boleh mengambil bahagian dalam tinjauan. Log masuk, Sama-sama.

Adakah anda menggunakan PowerShell dan adakah anda selesa dengannya?

  • 30,3% Saya tidak menggunakan40

  • 29,6% Saya mencubanya dan tidak menyukainya39

  • 23,5% Saya menggunakannya dan gembira dengan segala-galanya31

  • 12,9% Saya menggunakannya, tetapi saya tidak berpuas hati17

  • 3,8% Hooray! Akhirnya saya boleh menggunakan bash kegemaran saya pada Windows!5

132 pengguna telah mengundi. 26 pengguna berpantang.

Sumber: www.habr.com

Tambah komen