Какво е PWSH.EXE? Списък на PWSH синтаксис, който можете да използвате

PowerShell е един от най-мощните инструменти за скриптове, създадени от Microsoft . В тази публикация ще споделим какво е PWSH.exe и списък с важния синтаксис на PWSH(PWSH syntax) . Сигурен съм, че много хора са използвали Windows PowerShell , но PWSH вече е инструмент за междуплатформен скрипт, който работи на Windows , macOS и Linux . Въпреки това, той не се поддържа на WSL , т.е. подсистема(Windows Subsystem) на Windows в Linux , и опитът да се зададе PWSH като обвивка за влизане ще доведе до нестабилен WSL .

Какво е PWSH.EXE?

PWSH

Преди да започнем, нека изясним една подробност. PWSH.EXE е новото име за PowerShell . От версия 6 се нарича PowerShell Core . По-рано беше наречен powershell.exe , който сигурно сте виждали инсталиран в Windows (версия 5.1). Нищо чудно всеки път, когато стартирате PowerShell в Windows , получавате съобщение:

“Try the new cross-platform PowerShell https://aka.ms/pscore6.”

Можете да прочетете за разликата между PowerShell и PowerShell Core.(difference between PowerShell and PowerShell Core.)

Бързо напред днес, PowerShell достигна версия 7(PowerShell has reached version 7) , което е голяма промяна в сравнение с версия 6 и използва .NET Core 3 вместо .Net Framework . Ако искате да опитате, научете как да инсталирате PowerShell 7.0 на Windows 10.(how to install PowerShell 7.0 on Windows 10.)

Важен синтаксис на PWSH

-File | -f: Ако имате команди в скриптов файл, можете да го използвате като вход. Можете също да аргументирате за файловете, когато е приложимо.

pwsh -File .\test.ps1 -TestParam $env:windir

-Command | -c : Използвайте това, за да изпълните команда или ScriptBlock . ScriptBlock е набор от функции, затворени в {}

pwsh -Command {Get-WinEvent -LogName security}

или

@'
"in"

"hi" |
% { "$_ there" }

"out"
'@ | powershell -NoProfile -Command -

-EncodedCommand | -e | -ec : Използвайте това, когато има нужда да използвате сложни кавички или фигурни скоби.

$command = 'dir "c:\program files" '
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)
pwsh -encodedcommand $encodedCommand

-Login | -l: На Linux и macOS стартира PowerShell като обвивка за влизане, използвайки /bin/sh за изпълнение на профили за влизане като /etc/profile и ~/.profile. Не е приложимо за Windows .

Ще трябва да проверите абсолютния път, посочен в /etc/shells. Можете да използвате  помощната програма chsh , за да настроите обвивката на вашия текущ потребител на pwsh.

chsh -s /usr/bin/pwsh

-Файл с настройки | -настройки

Ако искате да презапишете глобалните настройки с локални настройки на проекта, тогава можете да посочите файла с настройки, като използвате тази опция. Настройките за цялата система са налични в powershell.config.json.

pwsh -SettingsFile c:\myproject\powershell.config.json

Пълен списък на синтаксиса на PWSH

pwsh[.exe]
[[-File] <filePath> [args]]
[-Command { - | <script-block> [-args <arg-array>]
| <string> [<CommandParameters>] } ]
[-ConfigurationName <string>]
[-CustomPipeName <string>]
[-EncodedCommand <Base64EncodedCommand>]
[-ExecutionPolicy <ExecutionPolicy>]
[-InputFormat {Text | XML}]
[-Interactive]
[-Login]
[-MTA]
[-NoExit]
[-NoLogo]
[-NonInteractive]
[-NoProfile]
[-OutputFormat {Text | XML}]
[-SettingsFile <SettingsFilePath>]
[-STA]
[-Version]
[-WindowStyle <style>]
[-WorkingDirectory <directoryPath>]

pwsh[.exe] -h | -Help | -? | /?

Ако имате нужда от повече подробности, можете да посетите docs.microsoft.com.



About the author

Аз съм компютърен програмист и съм от над 15 години. Уменията ми са в разработването и поддържането на софтуерни приложения, както и в предоставянето на техническа поддръжка за тези приложения. Също така съм преподавал компютърно програмиране на гимназисти и в момента съм професионален инструктор.



Related posts