Powershell作为windows下的新一代shell,功能自然是没得说的,但是这命令实在是太繁琐了。还好我们有设置别名这个一功能。

Powershell中的别名

Powershell中的别名和其他shell中类似,比如powershell中用来列出当前目录下所有文件和目录的命令是:Get-ChildItem,是不是很烦人,不好记。看看unix下的的默认命令ls,多好记。那我们就可以把Get-ChildItem起个别名叫ls,以后输入ls就等同于输入Get-ChildItem,这样就可以愉快的在powershell下ls了。

在Powershell设置别名的方式如下:

1
Set-Alias 别名 源名

比如刚刚我们的想法就可以这样写

1
Set-Alias ls Get-ChildItem

不过你不用去尝试设置这个别名了,因为微软已经把这个别名默认写进Powershell啦,看样子他们自己也知道powershell的写法太繁琐了。

Powershell中把语句设置为别名

但是呢,powershell的别名只能直接alias给命令,不能给语句。比如我们执行Set-Alias pcsonfig ‘nano $profile’就会报错(这个命令是编辑powershell的默认配置文件,当然前提是你有nano编辑器)。那怎么办呢,还有一个大法叫函数

1
2
3
4
function Edit-poshconfig {
nano $profile
}
Set-Alias psconfig Edit-poshconfig

上述例子就是先顶一个一个我们要执行语句的函数,然后再给这个函数起个别名。

在Powershell中保存别名

上述设置别名的方法都是临时性的,并没法将别名保存。如果需要设置长久性给的别名,那么需要把设置别名的命令写入powershell的配置文件。

在powershell中输入下面这个命令就能看到配置文件的地址

1
$profile

打开然后把你要的命令写入就行了(如果没有文件就新建一个同名的)。原理就相当于powershell每次启动就执行这个文件中的所有命令一次。

当然也可以直接用如下命令打开来编辑

1
notepad $profile