例如,在名为hello.sh的Linux shell脚本中,您可以按以下方式获取输入:
$name = $1
$Age = $2
echo "Hi $name!"
echo "You are $age years old!"
可以在Linux命令行上执行以下脚本:
./hello.sh Bob 99
是否有以这种方式在PowerShell脚本中输入输入的等效方法?
我只看过Read-Host,但这会在执行Powershell脚本后提示用户输入。我想在命令行上使用所需的输入参数调用脚本。
答案 0 :(得分:4)
是的,这是一个参数化脚本:
[CmdletBinding()]
param (
[string] $Name
, [int] $Age
)
Write-Host -Object "Hi $Name!","You are $Age years old!";
然后,调用脚本:
.\test.ps1 -Name Trevor -Age 28;
答案 1 :(得分:1)
另一个可能与Linux示例更相似的选项是:
$name = $args[0]
$Age = $args[1]
echo "Hi $name!"
echo "You are $age years old!"
我只是想表明这里的差距并不是那么大。注意:echo
是Write-Output的别名。人们倾向于使用那些无法捕获或重定向输出的Write-Host。