我试图创建一个哈希表,
SELECT users.email
FROM prefix_users as users
LEFT JOIN prefix_user_permission_matches as matches ON users.id =
matches.user_id
LEFT JOIN prefix_permissions as permissions ON permissions.id = matches.permission_id
WHERE permissions.name IN ($entreprise)
并且无法弄清楚为什么它不会像往常一样显示$input = @{'G'=100;'E'=50;'D'=35;'A'=100}
或简称write-host
这样的命令。 $input
已返回write-host
。 System.Collections.ArrayList+ArrayListEnumeratorSimple
没有返回任何内容。没有抛出任何错误。
在预感中,我重命名了哈希表,并且繁荣,这似乎正常。在ISE中打开一个新的PowerShell选项卡,我观察到变量$input
填充了intellisense,即使我还没有在这个环境中定义它。
现在我很好奇:这个系统变量$ input是什么?我是第4版。
答案 0 :(得分:2)
$INPUT
包含枚举器,枚举所有传递的输入 一个功能。
$input
变量仅适用于函数和 脚本块(未命名的函数)。在一个过程块中 函数,$input
变量枚举当前的对象 在管线中。当Process块完成时,没有 对象留在管道中,因此$input
变量枚举一个 空集合。如果该函数没有Process块,那么 在结束块中,$input
变量枚举所有的集合 输入到函数。
这也可以在PowerShell中使用:
Get-Help about_Automatic_Variables
I also have an open feature request for Set-StrictMode
to handle detection of this