上篇文章我說道,windows為了改變使用者對其console介面的詬病,於是就從windows vista開始,計劃要改變這種局面,於是就有
了Powershell的出現。
1、相容shell命令
為了相容Unix/Linux Shell(主要是bash)的命令;Powershell中提供了一套機制來相容cmd.exe和bash命令。這就是上篇文章中提到
的別名機制。是powershell中相容的cmd命令和unix/linux shell的命令。
2、標準命令的別名
同樣,powershell還提供一套機制來支援內建cmdlet的命令別名。
我們知道cmdlets採用一致的使用者介面模式: 動詞-名詞。 正如上面所說,上表例舉的別名是為了和其他的console介面命令相相容,而內建命令的
別名是為了簡便而設定的。powershell提供一組基於常用命令的動詞和名詞的速記名稱來為標準別名進行命名。
例如:
動詞 命令的縮寫/別名
get g
set s
item i
location l
command cm
這樣:gi 則相當於 get-item
si 則相當於 set-item
因為這些別名實在powershell啟動期間自動載入的;所以如果在命令列中再次設定命令列別名,則會提示錯誤,如所示:
3、Tab自動補全功能
powershell同時還繼承了Tab鍵的自動補全功能;不過這個與cmd和bash的Tab功能不太一樣,powershell中的tab擴充功能是通過函數來實現的。
其函數是: TabExpansion控制的,由於在powershell中可以修改內建的函數,因此需要注意。
在鍵入命令時,如果要用Tab鍵來補充檔案名稱或者路徑;則在鍵入部分檔案名稱或者路徑後,按下Tab鍵,powershell中將自動將命令補充為第一個匹
配項,如果重複的按下Tab鍵,則將逐一顯示所有可用的選項。
如果鍵入的是cmdlet;則與補充檔案名稱和路徑不同;如果要對cmdlet名稱使用tab擴充,需要完整鍵入名稱的第一部分及後面的連字號。可以填充
名稱的更多部分已進行匹配。例如: 鍵入 get-c 然後鍵入Tab鍵,則自動補充的為get-childitem命令,如果繼續按下tab鍵則補充出的命令為get-com
mand命令。
在使用命令列自動補齊的過程有一點需要注意: 即無論何時Tan鍵都被解釋為自動補充命令功能,因此在將命令複製到shell中時需要注意,複製的內容
後面不能包含Tab鍵。