我应该在包装脚本中重写 Chocolatey 的警告消息吗?
Should I rewrite Chocolatey's warning messages in my wrapper script?
我已将 Chocolatey 安装程序捆绑到 PowerShell 中:我的脚本为安装过程调用了一个函数。用户应该在 PowerShell 中 运行 .\install.ps1
。如果包已经安装,输出类似于:
<Packagename> already installed.
Use --force to reinstall, specify a version to install, or try upgrade.
好的,所以用户应该认为 .\install.ps1 --force
可以解决问题。不幸的是,我发现 PowerShell 无法接受双破折号 (--
),因此我正在考虑重写来自 Chocolatey 的警告消息,使其输出 -force
而不是 --force
:
<Packagename> already installed.
Use -force to reinstall, specify a version to install, or try upgrade.
我的 setup.ps1
文件类似于:
Install-App <Packagename + parameters>
我的脚本调用的函数类似于:
function Install-App
{
//..code ommited..
$chocoCommand = "choco install <Packagename + parameters>"
iex $chocoCommand
}
我一直在考虑 try/catch,但还没有完全想通。
有什么建议吗?
此致
您应该在传递任何参数之前尝试--%
。
取自https://chocolatey.org/docs/commands-reference#how-to-pass-options-switches
我通过对 $args 执行 foreach 解决了这个问题:
foreach($arg in $args)
{
if($arg -eq "--force" -Or $arg -eq "-force")
{
$forceParameter = "--force"
}
}
并将其进一步传递给我的 PowerShell 命令
MyCustomCommand -forceParameter $forceParameter
感谢您的帮助!
我已将 Chocolatey 安装程序捆绑到 PowerShell 中:我的脚本为安装过程调用了一个函数。用户应该在 PowerShell 中 运行 .\install.ps1
。如果包已经安装,输出类似于:
<Packagename> already installed.
Use --force to reinstall, specify a version to install, or try upgrade.
好的,所以用户应该认为 .\install.ps1 --force
可以解决问题。不幸的是,我发现 PowerShell 无法接受双破折号 (--
),因此我正在考虑重写来自 Chocolatey 的警告消息,使其输出 -force
而不是 --force
:
<Packagename> already installed.
Use -force to reinstall, specify a version to install, or try upgrade.
我的 setup.ps1
文件类似于:
Install-App <Packagename + parameters>
我的脚本调用的函数类似于:
function Install-App
{
//..code ommited..
$chocoCommand = "choco install <Packagename + parameters>"
iex $chocoCommand
}
我一直在考虑 try/catch,但还没有完全想通。
有什么建议吗?
此致
您应该在传递任何参数之前尝试--%
。
取自https://chocolatey.org/docs/commands-reference#how-to-pass-options-switches
我通过对 $args 执行 foreach 解决了这个问题:
foreach($arg in $args)
{
if($arg -eq "--force" -Or $arg -eq "-force")
{
$forceParameter = "--force"
}
}
并将其进一步传递给我的 PowerShell 命令
MyCustomCommand -forceParameter $forceParameter
感谢您的帮助!