alias 别名,使用它我们可以提高使用命令行的效率。
例如在 Linux 中,我喜欢把 d
设置为 docker
的别名。只需要在终端中执行
alias d='docker' |
那么此时 d ps
的作用就等于 docker ps
那么在 Windows 上面要怎么使用呢?我现在终端
这个程序一打开,默认使用的是 powershell
,所以我也主要用它了。
New-Alias
在这上面使用别名的命令是 New-Alias
,例如
New-Alias d docker |
详细说明可看 官方文档
像有些程序,它的路径比较长,我们也可以通过别名的方式,来较快速地使用
New-Alias whisper "C:\Users\powersee\PycharmProjects\pythonProject\venv\Scripts\whisper.exe" |
但是,New-Alias 的值是不能包含空格的,还是用 docker 来举例子。
如果我在 Linux,我可以这样
alias di='docker images' |
后面的值只需要用引号包裹就行。但是在 powershell
里,alias 不能这样设置,此时得用函数 function
。
function
官方文档,示例如下:
function di { docker images } |
按我的理解,别名就是用来缩短命令的,因为 powershell 的命令都比较长,而且还用 -
连接,例如 Get-ChildItem
。可读性确实比较强,但是敲起来就不是那么方便了。
函数就可以把长命令封装起来,其实相比 alias 也就多了花括号。
我这边想的是,缩短我使用 whisper 时需要输入的字符。所以我定义了一个函数 wme 意思是 whisper medium english。
function wme { "C:\Users\powersee\PycharmProjects\pythonProject\venv\Scripts\whisper.exe" --model medium --language English } |
那么按理来说,我之后只要执行 wme xxx.mp3
就等同于
"C:\Users\powersee\PycharmProjects\pythonProject\venv\Scripts\whisper.exe" --model medium --language English xxx.mp3 |
然而在 function 里就不是这么用了,后面的 xxx.mp3 它其实是算一个参数。正确的写法应该是这样:
function wme { & "C:\Users\powersee\PycharmProjects\pythonProject\venv\Scripts\whisper.exe" --model medium --language English $args[0]} |
powershell 的配置文件
我们定义的别名和函数,应该怎么保存下来,让我们下次打开 powershell
时,就自动加载呢?在 Linux 上面我们是将它们写入用户目录下的 .bashrc
或者 .zshrc
来实现的。
那么 powershell 里面,有没有类似 .bashrc
的文件呢?也是有的,但是默认情况下没有这个文件。可以先执行
Test-Path $profile |
判断一下有没有这个文件,有的话会输出 True。
$profile # 查看它的路径 |
如果没有这个配置文件,可以使用命令来创建它
New-Item -path $profile -type file –force |
它一般的路径在用户目录下的 Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
之后我们只需将别名和函数粘贴到里面,下次启动 powershell
就会自动加载的。