两款【linux字符界面下】显示【菜单】,【选项】的powershell脚本模块介绍

powershell linux  ps1 menu choice Multiselect 传教士 菜单

powershell 传教士 原创文章 始于2017-02-22,文章随时更新,目前博客园为最新版。 允许转载,但必须保留名字和出处,否则追究法律责任。

问:去哪里查找菜单模块?

答: 微软官方软件库。 https://www.powershellgallery.com/

问:如何查找菜单模块?

答: find-module *menu*

返回

MenuShell

ps-menu

ServerOpsMenu

CliMenu

SLMenu

问:如何验证这些模块?

答: 靠兄弟我帮忙,人肉验证。

-------------ps-Menu篇-------------

问:linux下,如何安装?

答: install-module ps-menu

问:模块安装到哪个目录去了?

答: /opt/microsoft/powershell/6.0.xxx版本号/Modules

问:如何使用?

答:

代码:

$a = menu -menuitem '吃了米饭','吃了面条','吃了大蒜' #单选
$b = menu -menuitem '吃了米饭','吃了面条','还有榨菜' -Multiselect #多选

上述代码中文显示正常。测试环境centos7

图:

点评:

这个模块极其简单, 用

if ($a -eq '吃了大蒜') { xxx命令 } 来使用。 多选则返回数组。是个人就会,呵呵。

-------------CliMenu篇-------------

问:官网在哪?

答: https://github.com/torgro/cliMenu

问:linux下,如何安装?

答: install-module climenu

问:模块安装到哪个目录去了?

答: /opt/microsoft/powershell/6.0.xxx版本号/Modules

问:如何使用?

答:

Set-MenuOption -MaxWith 80 #最大宽度
Set-MenuOption -MenuFillChar "#" -MenuFillColor DarkYellow #外框符号,符号颜色
Set-MenuOption -Heading "PowerShell 让微软云再次强大" -HeadingColor DarkCyan #标题信息,标题颜色
$mainMenu = New-Menu -Name "main" -DisplayName "Main Menu"
$menuItem1 = New-MenuItem -Name "m1" -DisplayName "立马开始学习?" -Action { Write-host "选择了1" } -DisableConfirm:$true
$menuItem2 = New-MenuItem -Name "m2" -DisplayName "删除后跑路?" -Action { Write-host "选择了2" } -DisableConfirm:$true
$menuItem1 | Add-MenuItem -Menu main
$menuItem2 | Add-MenuItem -Menu main
Clear-Host
Show-Menu

图:

上述代码中文显示正常。测试环境centos7

------------- choice篇 -------------

问:如何安装?

答: powershell自带,无需安装。

问:如何使用?

答: win,linux通用的代码:

$title = "标题"
$message = "询问信息。立马开始学习ps,还是格式化跑路?"
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes","选问号后出现是的帮助信息。传教士"
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No","选问号后出现否的帮助信息。2017分享"
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
$result = $host.ui.PromptForChoice($title,$message,$options,0) switch ($result)
{
  0 { "你开始学ps了" }
  1 { "你格式化跑路了" }
}

点评: 自带的很简单,主要用于选是否。

-完-

两款【linux字符界面下】显示【菜单】,【选项】的powershell脚本模块介绍的更多相关文章

  1. Linux字符界面下用户账户的设置

    在Linux系统字符界面下创建.修改以及删除用户账户主要使用useradd,usermod和userdel这3个命令. 一.创建用户账户 创建用户账户就是在系统中创建一个新账户,然后为新账户分配用户U ...

  2. ubuntu字符界面下显示中文和调整分辨率

    1.sudo apt-get install zhcon 2.vi /etc/zhcon.conf  修改下面两行 x_resolution 1024 y_resolution 768 完成这两步后在 ...

  3. linux字符界面下root用户无法登录成功

    os: rhel5.6_x86_64 ———————————————————————————————————————————— 故障:图形界面登录正常,其他一切正常,但是切换到字符界面时,输入用户ro ...

  4. linux复习3:linux字符界面的操作

    一.前言 1.对linux服务器进行管理的时候,经常要进入字符界面进行操作,使用命令需要记住该命令的相关选项和参数.vi编辑器可以用于编辑任何ASCII文本,功能非常的强大,可以对文本进行创建.查找. ...

  5. 介绍两款Linux文件恢复工具,ext3grep与extundelete https://www.cnblogs.com/lazyfang/p/7699994.html

    介绍两款Linux文件恢复工具,ext3grep与extundelete,可能在关键时刻会有所帮助.ext3grep仅对ext3文件系统有效,extundelete对ext3与ext4文件系统都有效  ...

  6. Linux字符模式下如何设置/删除环境变量

    Linux字符模式下设置/删除环境变量方法: bash下 设置:export 变量名=变量值 删除:unset 变量名 csh下 设置:setenv 变量名 变量值 删除:unsetenv 变量名 h ...

  7. Linux下查看Python安装了哪些脚本模块

    Linux下查看Python安装了哪些脚本模块 1.什么是rpm ? rpm 即RedHat Package Management,是RedHat的发明之一 .现在包括OpenLinux.fedora ...

  8. Python+selenium下拉菜单选项

    案例:在我要自学网登录页面选择要保留的时间 具体页面如图所示: 使用前端工具查看部分页面代码: <select class="loinp" name="Cookie ...

  9. yum管理——linux字符界面安装图形化及两种界面的切换(3)

    1.查看yum软件包组 yum groups list 2.选择安装带 GUI 的服务器 yum groups install "带 GUI 的服务器" 3.字符界面切换为图形化界 ...

随机推荐

  1. 为什么ajax 必须同源,same origin policy

    ajax 所有请求都会附带主域的cookie, 若没有同源策略,攻击者就可以获取你的cookie,状态.

  2. spark在集群上运行

    1.spark在集群上运行应用的详细过程 (1)用户通过spark-submit脚本提交应用 (2)spark-submit脚本启动驱动器程序,调用用户定义的main()方法 (3)驱动器程序与集群管 ...

  3. 使用YUIDoc生成JS文档

    其实YUIDoc主页已经写的比较清晰了,但有一些概念和细节再点出一些注意的地方. 目前最新的YUIDoc使用nodejs进行开发安装和使用都非常的方便. 我们只需要将我们的代码加上必要的注释,便可以很 ...

  4. 升级wamp5集成安装包 php5.2到php5.3

    平时xp下面都使用wamp5集成开发 但php的空间命名需要php5.3 才支持,而且公司系统大部分都使用5.3,很多函数与5.2是不同的 难的在xp下面手动安装,集成包使用很方便,配置,快捷键都很不 ...

  5. iOS 之 Strong与Weak,_unsafe _unretained与weak区别

    1. 在ARC中 strong(强引用) 相当于retain, weak(弱引用) 相当于assign.ARC下,strong告诉编译器自动插入retain.但是在ARC下,代理协议的属性依然用ass ...

  6. JavaScript成员属性读取

    var obj = {}; 检索一个不存在的成员属性的值,将返回undefined; 可以使用||运算符来填充默认值: var status = obj.status||'inistatus' 从un ...

  7. ListView 的三种数据绑定方式

    ListView 的三种数据绑定方式   1.最原始的绑定方式: public ObservableCollection<object> ObservableObj; public Mai ...

  8. 【Scala】Scala之Control Structures

    一.前言 前面学习了Scala的Numbers,接着学习Scala的Control Structures(控制结构). 二.Control Structures Scala中的控制结构与Java中的颇 ...

  9. leetcode刷题总结

    题外话 今年大三,现正值寒假时间,开学就开始大三下学期的生活了. 在大三临近结束的时间,也就是复习考试的时间里,我每天都会用早上的时间来刷codewars.刚开始玩的时候,一到8kyu的题目如果稍微难 ...

  10. UTF编码检测

    最近工作上正好需要进行UTF编码检测,自己写了一个,分享给大家,希望可以帮得上有需要用的朋友 public bool isUtf8(byte[] rawText) { bool result = tr ...