麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PowerShell > 正文

PowerShell入門教程之函數、腳本、作用域介紹

2020-10-29 21:01:06
字體:
來源:轉載
供稿:網友

腳本所體現的是PowerShell的編程特性,是任務自動化的基礎。函數是比腳本粒度更細的代碼復用單元,可以定義在命令行中或者腳本中。作用域就是變量和函數的作用范圍,是執行上下文的劃分。

函數

  函數就是命名的命令列表,與一般編程語言中的函數概念具有相同的范疇。函數中不但可以有簡單命令,還可以有控制流程的命令,如if、while、switch等。函數可以有匿名參數或者命名參數列表。命令參數列表可以用大括號或者Param關鍵字定義。匿名函數可以使用$Args變量來訪問。函數也可接收來自管道的對象作為輸入,管道對象可以通過$input變量類訪問。

  在腳本中定義的函數,可以定義在#require命令和Param關鍵字之后的任何位置,但要定義在調用之前。還有,自定義的函數不會自動運行,需要被明確調用。可以使用filter或者function定義函數,用filter關鍵字定義的函數比較簡單,而使用function關鍵字定義的函數可以有更加復雜的功能。

  簡單函數定義示例如下:

復制代碼 代碼如下:

function SayHello
{
   "Hello"
}

函數調用方法與使用Cmdlet方法相似,輸入SayHello,并回車。則結果為Hello。

腳本

  腳本就是將一些命令存貯到文件文件中,并將該文本文件的擴展名設置為.ps1。腳本中除了可以使用常用cmdlet,控制流程的命令外,還可以定義和調用自定義函數,調用方法與調用cmdlet方法類似。

  腳本也可以有參數,既可以是命名參數也可以是匿名參數。在參數的使用上,腳本與函數非常相似。

  另外,PowerShell的腳本執行策略默認不允許執行任何腳本文件,修改執行策略可執行如下命令:Set-ExecutionPolicy RemoteSigned。需要謹記的是,修改執行策略會帶來安全隱患,修改執行策略之前請三思。

簡單腳本d:/greet.ps1示例如下

復制代碼 代碼如下:

Param([String] somebody)
 
function Greet([String] name)
{
    "Hello $name"
}
 
echo "Call function Greet ..."
Greet $somebody

腳本調用方法如下:
復制代碼 代碼如下:

d:/greet.ps1 "Luke"


復制代碼 代碼如下:

./greet.ps1 "Luke"

以上腳本的執行結果是,“Hello Luke”。

作用域

  按類型分,有兩種作用域:global(全局作用域)和script(腳本作用域)。啟動PowerShell命令行后,所有命令行命令在全局作用域中運行。而腳本上下文在script作用域中運行,運行結束后腳本中定義的變量和函數不在可見。這是因為在腳本中定義的變量和函數默認位于script作用域中。當然也可以顯示定義變量和函數的作用域,比如function global:fun1 (){…}。這樣以來,腳本執行完之后,fun1還能夠在全局作用域中執行。

  按軸關系分,可以有父作用域、本地作用域(當前作用域)和子作用域。這些不是新的作用域類型,而是作用域之間的相對關系。子作用域還可以有子作用域,這個層次可以很深。

  除了可以將腳本中的變量和函數定義在全局作用域中,還可以使用點".”獲取來源,將一個普通腳本在本地作用域中執行,執行完畢退出腳本后,所有在腳本中定義的變量和函數,在本地作用域中繼續可用。

  使用點".”獲取來源示例如下:

復制代碼 代碼如下:

. d:/greet.ps1 "Luke"

或者
復制代碼 代碼如下:

. ./greet.ps1 "Luke"

即點".”,空格,然后是一般腳本執行方式。

結語

  函數、腳本和作用域,每個概念要說得詳細都得要很大的篇幅。這里只簡單說明它們的概念、彼此間的關系以及簡單的用法。讓讀者有個大概的印象,能夠拿來就用。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本精品婷婷久久爽一下 | 西川av在线一区二区三区 | 国产v综合v亚洲欧美久久 | 久久精品国产清自在天天线 | 久久精品国产清自在天天线 | 永久免费在线观看av | 看全色黄大色黄大片女图片 | 国产日韩一区二区三区在线观看 | 欧美精品一区二区三区久久久 | 在线a视频| 亚洲精品午夜视频 | 中文日韩在线视频 | 91香蕉影视| 久久精品国产精品亚洲 | 欧美成人一区二区视频 | 特级毛片免费视频 | 亚洲午夜一区二区三区 | 欧美成人一级 | 哪里可以看免费的av | 最近中文字幕一区二区 | 午夜视频大全 | 19禁国产精品福利视频 | 久久精品性视频 | 色综合网在线观看 | 久久久久久久一区 | 黄色免费在线网址 | 看免费5xxaaa毛片 | 成人在线视频一区 | 国内精品久久久久久2021浪潮 | 黄色网址免费在线 | 免费看日产一区二区三区 | 久久91久久久久麻豆精品 | 在线区 | 成人短视频在线播放 | 在线男人天堂 | 一级裸体视频 | 嫩草91在线| 久久久久久久久久91 | 羞羞视频免费视频欧美 | 日本网站在线看 | 亚洲国产精品一区 |