为了让PowerShell在$USER_HOME
目录中创建mysubdirectory
(无论该目录在任何给定计算机上的名称如何),必须更改以下命令中的哪种特定语法?
我们目前在GitHub runner中使用的命令是脆弱的,因为它显式地输入了GitHub runner的用户主页,如下所示:
New-Item -ItemType Directory -Force -Path C:\\Users\\runneradmin\\mysubdirectory\\
如何修改上面的单行命令,将$USER_HOME
表示为变量,而不是脆弱字符串C:\\Users\\runneradmin
?
1条答案
按热度按时间bvn4nwqk1#
PowerShell的自动
$HOME
变量反映了当前用户的主目录(配置文件),在Windows上相当于$env:USERPROFILE
(USERPROFILE
环境变量)[1] --尽管在撰写本文时,链接的帮助主题是如何说明的;[2]在类Unix平台上,它相当于$env:HOME
:顺便说一句:在PowerShell中,
\
* 不是 * 元字符,因此没有理由将其加倍以用于文字用途。[1]可以说,它应该是
${env:HOMEDRIVE}${env:HOMEPATH}
的等价物,* 默认情况下,通常 * 与$env:USERPROFILE
相同,但可以配置为指向不同的位置-请参阅GitHub问题#17685的这条评论了解背景信息。[2][GitHub docs issue #9463](https://github.com/MicrosoftDocs/PowerShell-Docs/issues/9463)请求更正。