既然是随笔,那就想到什么说什么,既会分享主题知识,也会分享一些其他技巧和个人学习方法,供交流。

我一般学习一个东西,我都会问几个问题:

  • 这东西是什么?
  • 这东西有什么用,为什么会出现,出现是为了解决什么问题的?
  • 我如何从0到hello world整一个demo出来?

开始

每个人学习的方式不一样,有的人喜欢看视频,有的喜欢看博客,有的则喜欢配着故事。我会直接去看官方文档,没有比这再精确的东西了。

当然最好能看英文文档,一当面提高英语水平,另一方面有些词汇实在没法找到合适的中文。

PowerShell的文档在此,此处贴中文:https://docs.microsoft.com/zh-cn/powershell/scripting/overview?view=powershell-7

PowerShell是什么?

一般定义没什么用,大家更喜欢个人的通俗理解。但是往往在定义中我们可以探索到一些蛛丝马迹。

PowerShell 是构建于 .NET 上基于任务的命令行 shell 和脚本语言。

这是官方给的定义,此处我们注意几个关键词:构建于.NET,命令行Shell,脚本语言。

通过这些关键词,我们就知道了:

  • 要想运行PowerShell这东西,必须安装.NET,即使跨平台,也要安装.NET SDK。我们也可以使用.NET的东西,换句话说C#能用的,PowerShell中也能用。
  • 它是个命令行Shell,这个自然的会联想到CMD命令行工具
  • 脚本语言,想到了不需要编译,灵活。

为什么出现?

PowerShell 旨在消除长期存在的问题和添加新功能,从而改进命令行和脚本环境。

简单来说就是windows的命令行和脚本环境太乱太难用,出现一个工具改进它。

跑一个试试?

以win10为例,按windows+Q,搜索PowerShell。

运行 ipconfig ,输出结果。

PowerShell随笔1---背景的更多相关文章

  1. PowerShell随笔2_分支 选择 循环 特殊变量

    PowerShell特殊变量: PowerShell的特殊变量由系统自动创建.用户自定义的变量名称应该不和特殊变量相同. $^ :前一命令行的第一个标记 $$ :前一命令行的最后一个标记 $_ :表示 ...

  2. PowerShell随笔10---Module

    我们总不能把所有脚本文件零散的放着,就像创建一个项目一样,我们创建一个Module. 创建好之后如何让系统认识我们创建的Module呢,我们需要放在指定的位置. 那到底应该放在什么位置呢? 我们可以通 ...

  3. PowerShell随笔8 --- function

    为了脚本逻辑的重复使用,我们更多时候会封装成方法.PowerShell的function和C#.JavaScript的定义有些区别. 我们直接看例子: 可以看到,定义方法并不是这样的: functio ...

  4. PowerShell随笔7 -- Try Catch

    PowerShell默认的顺序执行命令,即使中间某一句命令出错,也会继续向下执行. 但是,我们的业务有时并非如此,我们希望出现异常情况后进行捕获异常,进行记录日志等操作. 和其他编程语言一样,我们可以 ...

  5. PowerShell随笔6---ISE

    简单的命令可以通过控制台窗口输入执行,但是我的脚本逻辑复杂,需要保存.总不能在命令行工具中执行吧. 关了窗口,啥都没了.有没有一个IDE,有. 在PowerShell命令行窗口中输入:ISE,就会打开 ...

  6. PowerShell随笔5---添加.NET类型

    有些情况下,有些脚本命令不能满足我们的需求,而手头却能用C#很方便的实现. 我们就可以把自定义的类型Add到PowerShell中使用,使用方法和PowerShell调用.NET类库方法是一样的. 以 ...

  7. PowerShell随笔4---变量

    全局变量 输入$global:后按ctrl+space,我们就可以看到所有的全局变量. 比如我们可以查看PowerShell的版本: 我们可以在在编写脚本代码的时候使用这些变量,globle可以省略, ...

  8. PowerShell随笔2---初始命令

    PowerShell便捷之处 PowerShell中兼容运行cmd的命令,比如 ipconfig.ping命令等 PowerShell的命令更友好,可读性更强.比如停止一个服务 CMD命令:sc st ...

  9. PowerShell随笔9--- call

    很多时候我们需要在一个脚本文件执行另外一个脚本文件,比如我们有一个Test.ps1文件 我们有以下2种方法: Invoke-Expression (&) 我们可以看到,Test.ps1中的代码 ...

随机推荐

  1. load data local带来的安全问题

    load data默认读的是服务器上的文件,但是加上local参数后,就可以将本地具有访问权限的文件加载到数据库中,这在带来方便的同时,也带来了以下安全问题, 可以任意加载本地文件到数据库, 在web ...

  2. FTP使用Socket SSL流程认证(一)

    关于Ftp使用SSL流程认证 本文章使用的是C#,ftp服务器为FileZilla 注:如果不是使用的Socket可以使用FtpWebRequst类,说实话,该类比较简单,但现在说的是SOCKET,网 ...

  3. MySQL中 utf8与utf8mb4的区别

    MySQL中 utf8与utf8mb4的区别 一.简介 ​ MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.好在 ...

  4. RSA2对于所有商户都是单独一对一的,并且只支持开发平台密钥管理和沙箱

    蚂蚁金服开发者社区 https://openclub.alipay.com/club/history/read/1495 RSA 和 RSA2 签名算法区别 - 支付宝开放平台 https://ope ...

  5. celery 动态配置定时任务

    How to dynamically add or remove tasks to celerybeat? · Issue #3493 · celery/celery https://github.c ...

  6. 阿里巴巴微服务与配置中心技术实践之道 配置推送 ConfigurationManagement ConfigDrivenAnyting

    阿里巴巴微服务与配置中心技术实践之道 原创: 坤宇 InfoQ 2018-02-08 在面向分布式的微服务系统中,如何通过更高效的配置管理方式,帮助微服务系统架构持续"无痛"的演进 ...

  7. WPF学习里程(二) XAML基础

    1.什么是XAML? 官方语言: XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用 ...

  8. CF1416D 做题心得

    CF1416D 做题心得 上次在某trick中提到了这个题,一开始觉得太毒瘤没有写,现在把它补上了. 感觉实现这个东西,比单纯收获一个trick,收获的东西多太多了. 主要思路 它的主要trick是& ...

  9. POJ2029 二维线段树

    Get Many Persimmon Trees POJ - 2029 Seiji Hayashi had been a professor of the Nisshinkan Samurai Sch ...

  10. slowhttptest慢速攻击工具使用详解

    参考文章 浅谈"慢速HTTP攻击Slow HTTP Attack" HTTP慢速攻击 Slowhttptest攻击原理 InstallationAndUsage tag: #slo ...