当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 周五乐趣:PowerShell 惊悚片重温

作者:精品下载站 日期:2024-12-14 07:53:21 浏览:14 分类:玩电脑

周五乐趣:PowerShell 惊悚片重温


[玩转系统] 周五乐趣:PowerShell 惊悚片重温

第一次迭代有点简单。尽管我有更好的事情要做,但我还是花了一些时间更新和扩展脚本。与我所有的《Friday Fun》帖子一样,该脚本旨在作为一种学习工具。除非你是一位崭露头角的惊悚小说作家,否则除了有趣的消遣之外,你真的不需要剧本本身。但是,如果您需要查看如何使用数组的示例,或者此处的字符串,甚至如何构建简单的脚本,我的项目将为您提供帮助。

当前代码被编写为脚本,这意味着您需要指定脚本的完整路径,当然您需要一个运行该脚本的执行策略。这是您可以期待的示例。该脚本将一个字符串对象写入管道。

[玩转系统] 周五乐趣:PowerShell 惊悚片重温

由于 Markdown 现在似乎无处不在,因此该版本包含一个参数,用于将某些文本转换为 Markdown。

[玩转系统] 周五乐趣:PowerShell 惊悚片重温

原因之一是因为 PowerShell Core 有一些 Markdown cmdlet,包括 Show-Markdown,它将在控制台中呈现 Markdown 文档。

[玩转系统] 周五乐趣:PowerShell 惊悚片重温

它也适用于 Linux 上的 PowerShell Core。

[玩转系统] 周五乐趣:PowerShell 惊悚片重温

正如你所读到的,我对此感到很有趣。该脚本作为要点发布在我的 Github 存储库上。

:

在脚本中,我定义了许多数组,其中包含书籍描述中不同元素的源项目。最初,我将每个数组通过管道传递给 Get-Random 以选择一个元素。但我想要更多的随机性和一些灵活性。所以我编写了一个嵌入到脚本中的私有函数。该函数绝不应该由用户直接运行,这就是它没有正确名称的原因。每个数组都由该函数处理,首先随机化整个集合,然后选择随机数量的元素。在某些情况下,我想要不止一件物品。

该脚本的主要元素是此处的字符串,定义为 $blurb。这里的字符串是创建多行字符串的好方法。请记住,结束线需要保持对齐。因为这是一个字符串,所以我可以在整个过程中使用变量替换。虽然我也在演示如何使用 -f 运算符。在此字符串中,您将看到占位符 {0} 和 {1}。 -f 运算符采用逗号分隔的值列表并将每个值插入相应的占位符中。

$($blurb -f "'$($title[1])'","'$($title[2])'")

整个表达式被定义为子表达式,因为它被替换为另一个此处字符串 $out,这将是脚本的输出。我根据是否需要生成 markdown 定义不同版本的 $out 。

if ($AsMarkdown) {
    
    $out = @"

# $($Title[0])

## by $author

$($blurb -f "[$($title[1])]()","[$($title[2])]()")
### Published $pubDate 
"@
}
else {
    $out = @"

$($Title[0])
$("-" * ($title[0].length))
by $author

$($blurb -f "'$($title[1])'","'$($title[2])'")
Published $pubDate
"@
}

我尝试对代码进行注释以帮助解释我在做什么以及为什么。如果您正在学习 PowerShell,我希望您花一些时间来分析该脚本的工作原理。当你享受了创作几本新书的乐趣之后!

一如既往,我很想听听你的想法。欣赏并检查角落。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯