Да, есть:
ARRAY=()
ARRAY+=('foo')
ARRAY+=('bar')
В контексте, когда оператор присваивания присваивает значение переменную оболочки или индекс массива (см. раздел «Массивы»), оператор «+ =» может использоваться для добавления или добавления к предыдущему значению переменной.
Используйте свойство length
для типа [String]
:
if ($dbUserName.length -gt 8) {
Write-Output "Please enter more than 8 characters."
$dbUserName = Read-Host "Re-enter database username"
}
Обратите внимание, что вы должны использовать -gt
вместо >
в своем if
состоянии. PowerShell использует следующие операторы сравнения для сравнения значений и условий тестирования:
Вы также можете использовать -match против регулярного выражения. Пример:
if ($dbUserName -match ".{8}" )
{
Write-Output " Please enter more than 8 characters "
$dbUserName=read-host " Re-enter database user name"
}
Также, если вы похожи на меня и как ваши фигурные скобки находятся в одной и той же горизонтальной позиции для ваших кодовых блоков, вы можете поместить это на новую строку, поскольку она ожидает код блок будет выглядеть на следующей строке. В некоторых командах, где первая фигурная скобка должна быть в соответствии с вашей командой, вы можете использовать маркер серьезного акцента (`), чтобы сказать powershell для обработки следующей строки как продолжения.