我已经定义了一些 powershell 变量,如下所示
$Host101 = "10.1.1.101"
$Host102 = "10.1.1.102"
$HDD101 = "DataStoreH101"
$HDD102 = "DataStoreH102"
$SSD101 = "DataStoreS101"
$SSD102 = "DataStoreS102"
My-Command -H $Host101 -Disk $HDD101 -Disk $SSD101
现在,我想定义$Node = "101"
然后使用以下命令
My-Command -H $Host$Node -Disk $HDD$Node -Disk $SSD$Node
当我测试Write-Host "$HDD$Node"
时,它不打印DataStoreH101
。我怎么能在powershell中写这样的东西?
正如其他人所说,您还必须先定义
$Node
变量及其值,然后才能使用它。我假设您已经知道这一点,而这只是一个疏忽,这是不可能的。我使用类似的 PowerShell 解决方案连接变量名称的一部分来设置变量,然后使用Invoke-Expression执行完全连接的变量。
电源外壳
输出示例
运行
$cmd
输出这个运行
Invoke-Expression -Command $cmd;
输出这个(当然是绿色的)带有屏幕截图注释的 PowerShell ISE 输出
支持资源