關鍵字 linux powershell pwsh 補全 complete bash zsh
摘要:
linux用戶的福音!
在linux版powershell中,補全linux外部命令的參數(如ls補全-l),支持bash和zsh。
概述
在linux版powershell中,默認是無法補全linux外部命令的參數的。
但是有了這個模塊,就可以實現,用tab補全【外部命令的參數名】了。
支持常用linux命令,如ls,find,grep等。
支持bash和zsh。
項目官網:
https://github.com/PowerShell/Modules/tree/master/Modules/Microsoft.PowerShell.UnixCompleters
界面gif動圖:
linux中,的powershell中,安裝:
Install-Module -Name Microsoft.PowerShell.UnixCompleters
linux中使用:
把下兩條命令寫入$profile,否則每次使用前需要打入此2條命令。
import-Module -Name Microsoft.PowerShell.UnixCompleters Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete
同時啟用psreadline下拉列表,和linux外部命令tab補全后,$profile的樣子:
【文件名=/root/.config/powershell/Microsoft.PowerShell_profile.ps1】
Set-PSReadlineOption -EditMode Windows Set-PSReadlineOption -PredictionSource HistoryAndPlugin Set-PSReadLineOption -PredictionViewStyle ListView import-Module -Name Microsoft.PowerShell.UnixCompleters Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete
注意:
此時,應該先
1列出所有舊版psreadline:get-module psreadline -ListAvailable
2刪除所有舊版的psreadline:rm -rf /xxx/psreadline
3用下列命令安裝psreadline最新版:
Install-Module -Name PSReadLine -AllowPrerelease -Force -Scope CurrentUser
psreadline下拉菜單的gif效果:(支持linux)
此功能面向的用戶群:
我想這個功能的主要用戶,是win,linux都用的用戶,如wsl用戶。
或者是,從win中,用win terminal(或powershell),經ssh,連接linux。
本地powershell7---》ssh---》遠程powershell7,還想用linux外部命令,參數名的tab補全。
那么問題來了,或許有人會問?為什么不用?
本地powershell7---》ssh---》被控機bash,bash里也有complete呀!
答:本地遠程都是powershell7的話,可以從本地傳遞對象到遠程,可以從遠程返回對象到本地。
謝謝觀看