ปัญหาแรกของคุณคือคุณกำลังเปรียบเทียบเชลล์ (PowerShell) กับเทอร์มินัล ในลินุกซ์, ขั้วคือสิ่งที่จะส่งและรับตัวอักษรตาม I / O และจะถือว่ามีผู้ใช้แบบโต้ตอบที่อยู่เบื้องหลังมัน (ในคำอื่น ๆ ก็โปรแกรมประยุกต์แบบ GUI ที่ใช้ในการประกอบด้วยเปลือก) หนึ่งในหอยที่พบมากที่สุดที่เรียกใช้ภายในเทอร์มินัลของ Ubuntu คือBashแต่ก็มีบางตัว
ผู้คนออฟไลน์บอกฉันว่า Windows PowerShell เป็นความพยายามที่จะทำให้ผู้ดูแลระบบ Unix รู้สึกสะดวกสบายยิ่งขึ้นเมื่อใช้ Windows
จริงๆแล้วสิ่งที่ถูกต้องในการพูดคือ PowerShell คือ Windows เปิดเผยโมเดลวัตถุWMI , COMและ. NET จำนวนมากในสภาพแวดล้อมของบรรทัดคำสั่งแบบโต้ตอบและสคริปต์ได้และสภาพแวดล้อมของบรรทัดคำสั่งนี้ยังคงยืมแนวคิดหลายอย่างเช่นท่อ และการเปลี่ยนเส้นทาง I / O - จาก Unix shells เช่นเดียวกับ DOS เก่า (2.0 ขึ้นไป) command.com
และcmd.exe
ทำ ท่อทำงานกับวัตถุใน PowerShell คุณสามารถทำสิ่งต่าง ๆ เช่นสร้าง HTML และอาจเป็นไปได้ว่าสเปรดชีตExcelทำได้ทันทีหากคุณรู้พอ ก็แน่นอนอัพเกรด / ทดแทนจากเดิมcmd.exe
เปลือกซึ่งไม่ได้เปลี่ยนแปลงมากจากWindows NT 4.0
เกี่ยวกับไวยากรณ์มันเหมือนกับหอย Unix น้อยกว่า (แม้ว่าท้ายที่สุดแล้วไม่มี cmdlets ใดที่ใช้/
เป็นสวิตช์หรือพารามิเตอร์ตัวบ่งชี้) แต่มีนามแฝงจำนวนมากสำหรับคำสั่ง Unix แบบคลาสสิกเช่นการป้อนls
ในหน้าต่าง PowerShell จะทำงานdir
ได้ แต่นี่เป็นเพียงนามแฝง ("Get-Alias" แสดงรายการเหล่านี้หรือไม่)
เกี่ยวกับความสามารถของ PowerShell คุณมีความสามารถที่คล้ายกันในรูปแบบสคริปต์อย่างเดียวจากVBScriptและCScript - แม้ว่าทั้งสองจะมี. NET เหล่านี้มาก่อน
สิ่งหนึ่งที่คน Unix ไม่ต้องทำเมื่อใช้ Bash เป็นส่วนใหญ่คือการคุ้นเคยอย่างใกล้ชิดกับรูปแบบวัตถุของโปรแกรมเมอร์หรือวัตถุที่มีความซับซ้อนมากซึ่งจำเป็นสำหรับงาน PowerShell ขั้นสูงและเรียบง่าย แต่นี่เป็นไปได้เพียงเพราะมีข้อตกลงที่ชัดเจนของเอาต์พุตข้อความแบบตรงสำหรับคำสั่งPOSIXมาตรฐานจำนวนมาก Windows ไม่มีประเพณีนี้ - ดูเหมือนว่าคุณต้องการใช้mmc
คอนโซลสำหรับงานการดูแลระบบโดยมีคำสั่งเพิ่มที่นี่และที่นั่นตลอดหลายปีที่ผ่านมา นอกจากนี้ที่รู้จักกันดีสาธารณูปโภค Unix หลายมีความซับซ้อนและต้องมีการศึกษาก่อนที่จะใช้งาน - rsync
, wget
และอื่น ๆ อีกมากมาย ประสิทธิภาพอาจเป็นฟังก์ชั่นของเครื่องมือที่พวกเขาใช้มากกว่าสิ่งอื่นใด