【发布时间】:2019-12-12 04:08:19
【问题描述】:
我想编写一个函数来运行给定命令并在运行此命令时出现错误时输出给定消息。命令和消息作为参数传递给函数。
实际上,这个小脚本是用于“50 行或更少”系列中的“持续集成系统”项目的。在项目描述中,所有的 shell 脚本都是用 bash 编写的,但我有 Windows,我想在 powershell 上重写所有的 shell 脚本,以进行一些练习。
这是我现在拥有的代码:
function rof{
param(
[string] $msg,
[scriptblock] $cmd
)
try {
Invoke-Command $cmd
}
catch {
$msg
}
}
我希望当我像这样运行这个函数时
rof -msg "some error :(" -cmd {git log}
如果没有 git 存储库,将调用 {} 中的该命令或输出“一些错误”。 但是函数输出
git log
我做错了什么?我以前从来没有用powershell写过。请帮帮我。谢谢!
【问题讨论】:
标签: windows shell powershell scripting