我是PowerShell的新手,但不是脚本。
为什么这个脚本:
$usr = "john.doe"
$usrname = $usr -split ".", 0, "simplematch"
$fullname = upperInitial($usrname[0]) + upperInitial($usrname[1])
write-host "Hello $fullname"
function upperInitial($upperInitialString) {
return $upperInitialString.substring(0, 1).toupper() + $upperInitialString.substring(1).tolower()
}
让我回答你好John'而不是你好John Doe'?
答案 0 :(得分:4)
它不会将upperInitial
函数的第二次调用视为一个函数,它将它视为我认为函数的第一次调用的参数。
其中任何一项工作:
$fullname = "$(upperInitial($usrname[0])) $(upperInitial($usrname[1]))"
write-host "Hello $fullname"
以上使用子表达式运算符$()
来执行双引号字符串中的函数。
$fullname = (upperInitial($usrname[0])) + ' ' + (upperInitial($usrname[1]))
write-host "Hello $fullname"
这个结合了你想要的两个函数的结果,虽然我还添加了一个空格字符,因为否则就是JohnDoe。