zoukankan      html  css  js  c++  java
  • 两款【linux字符界面下】显示【菜单】,【选项】的powershell脚本模块介绍

    两款【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     {         "你格式化跑路了"     }
    }

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

    -完-

  • 相关阅读:
    搭建单区域DNS服务器
    安装一个KVM服务器
    配置HTTPS网站服务器
    部署并测试动态WSGI站点
    java内置的四大函数式接口
    java自定义异常类
    java方法重写的规定
    spring跨重定向传递数据
    SpringEl表达式(转)
    Spring中的@conditional注解
  • 原文地址:https://www.cnblogs.com/piapia/p/6496552.html
Copyright © 2011-2022 走看看