Объединение переменной и строкового литерала без пробела в PowerShell
Как я могу написать переменную на консоль без пробела после нее? Есть проблемы, когда я пытаюсь:
$MyVariable = "Some text"
Write-Host "$MyVariableNOSPACES"
Мне нужен следующий вывод:
Some textNOSPACES
Ответы
Ответ 1
Другой вариант и, возможно, более канонический способ заключается в использовании фигурных скобок для определения имени:
$MyVariable = "Some text"
Write-Host "${MyVariable}NOSPACES"
Это особенно удобно для путей, например. ${ProjectDir}Bin\$Config\Images
. Однако, если после имени переменной существует \
, этого достаточно, чтобы PowerShell учитывал, что это не часть имени переменной.
Ответ 2
Вам нужно обернуть переменную в $()
Например, Write-Host "$($MyVariable)NOSPACES"
Ответ 3
Write-Host $MyVariable"NOSPACES"
Будет работать, хотя это выглядит очень странно... Я бы пошел за:
Write-Host ("{0}NOSPACES" -f $MyVariable)
Но это только я...
Ответ 4
Самое простое решение: Write-Host $MyVariable "NOSPACES"