linux版powershell中,tab补全,linux外部命令参数名,的模块介绍

2021年11月20日 阅读数:1
这篇文章主要向大家介绍linux版powershell中,tab补全,linux外部命令参数名,的模块介绍,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

 

关键字 linux powershell pwsh 补全 complete bash zshlinux

摘要:
linux用户的福音!
在linux版powershell中,补全linux外部命令的参数(如ls补全-l),支持bash和zsh。git

概述

在linux版powershell中,默认是没法补全linux外部命令的参数的。
可是有了这个模块,就能够实现,用tab补全【外部命令的参数名】了。
支持经常使用linux命令,如ls,find,grep等。
支持bash和zsh。github

项目官网:

https://github.com/PowerShell/Modules/tree/master/Modules/Microsoft.PowerShell.UnixCompletersshell

 

界面gif动图:

 

 

 

linux中,的powershell中,安装:

Install-Module -Name Microsoft.PowerShell.UnixCompletersbash


linux中使用:


把下两条命令写入$profile,不然每次使用前须要打入此2条命令。ssh

import-Module -Name Microsoft.PowerShell.UnixCompleters
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete

 


同时启用psreadline下拉列表,和linux外部命令tab补全后,$profile的样子:
【文件名=/root/.config/powershell/Microsoft.PowerShell_profile.ps1】spa

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 CurrentUsercode

 

psreadline下拉菜单的gif效果:(支持linux)

 

 

 

此功能面向的用户群:

我想这个功能的主要用户,是win,linux都用的用户,如wsl用户。
或者是,从win中,用win terminal(或powershell),经ssh,链接linux。
本地powershell7---》ssh---》远程powershell7,还想用linux外部命令,参数名的tab补全。对象

那么问题来了,或许有人会问?为何不用?
本地powershell7---》ssh---》被控机bash,bash里也有complete呀!
答:本地远程都是powershell7的话,能够从本地传递对象到远程,能够从远程返回对象到本地。blog

 

谢谢观看