检查参数是否丢失
Check if parameter is missed
我在 PS 版本 5 的 $profile 中有此代码:
function af_ {
Get-ChildItem function: | findstr.exe $args
if (! $args) {
return "nothing"
}
}
调用例如
af_ tgit
Return:
Function tgit 0.7.3 posh-git
通话中
af_
输出:
FINDSTR: Syntaxfehler
nothing
两个问题:
如果没有“Syntaxfehler”(这是德语..),我如何检查 $args 是否不为空?
我可以改进我的想法以获得自定义函数的定义吗?
declare -f $function
在 Bash 中。它显示了在 PS 中似乎不可能的定义。我必须处理函数:设备,然后查找“定义”输出。
你得到语法错误是因为你调用 findstr.exe
时使用空参数 在 检查它之前。颠倒顺序应该这样做:
function af_ {
if (! $args) {
return "nothing"
}
Get-ChildItem function: | findstr.exe $args
}
关于你的第二个问题,你可以使用 Get-Command
来获取命令及其定义:
(Get-Command af_).Definition
我在 PS 版本 5 的 $profile 中有此代码:
function af_ {
Get-ChildItem function: | findstr.exe $args
if (! $args) {
return "nothing"
}
}
调用例如
af_ tgit
Return:
Function tgit 0.7.3 posh-git
通话中
af_
输出:
FINDSTR: Syntaxfehler
nothing
两个问题:
如果没有“Syntaxfehler”(这是德语..),我如何检查 $args 是否不为空?
我可以改进我的想法以获得自定义函数的定义吗?
declare -f $function
在 Bash 中。它显示了在 PS 中似乎不可能的定义。我必须处理函数:设备,然后查找“定义”输出。
你得到语法错误是因为你调用 findstr.exe
时使用空参数 在 检查它之前。颠倒顺序应该这样做:
function af_ {
if (! $args) {
return "nothing"
}
Get-ChildItem function: | findstr.exe $args
}
关于你的第二个问题,你可以使用 Get-Command
来获取命令及其定义:
(Get-Command af_).Definition