bash别名是否等同于powershell?


12

默认情况下,我的Windows PowerShell启动于C:\Users\Santosh,我的XAMPP安装位于其中,D:\因此htdocs文件夹位于D:\xampp\htdocs。如果我必须在htdocs文件夹中编辑某些内容,则必须键入full cd D:\xampp\htdocs\ (自动完成不是那么好),然后编辑该文件。

如果此PowerShell是Bash,我将在.bash_aliases文件中执行此操作:

alias htdocs='cd D:\xampp\htdocs'

是否可以在PowerShell中维护文件和别名等Bash别名?

Answers:


12

您希望将别名别名与Powershell脚本或函数结合使用。因此,打开一个编辑器并编写:

set-location d:\xampp\htdocs

并将该文件保存到例如c:\ Users \ kumar \ htdocs32.ps1,或者您可以创建类似的函数。

function htdocs32 { set-location d:\xampp\htdocs }

要执行脚本,必须在本地设置允许脚本的执行策略。以管理员身份打开powershell命令行,然后键入:

set-executionpolicy remotesigned

现在您可以为powershell脚本设置别名:

set-alias htdocs c:\Users\kumar\htdocs32.ps1

并立即输入htdocs将使您进入htdocs文件夹

Powershell使用动词-名词组合来命名所谓的cmdlet。动词指的是您想要做什么,而名词则表示您想做什么。

要获得要使用的set-alias命令的帮助,请执行以下操作:

get-help set-alias -full  |more 

没有没有不少。另一种方法是阅读此http://technet.microsoft.com/en-us/library/ee176958.aspx

另外,从电源外壳开始,我建议您看看以下URL:http : //www.powershellpro.com/powershell-tutorial-introduction/

要永久保存别名,您必须将其保存在用户个人资料中。首先使用以下命令测试配置文件是否已到位:

PS C:\> $profile

如果发现错误,可以通过键入以下内容来创建新的配置文件:

 New-Item -path $profile -type file -force

现在您可以编辑文件

c:\Users\kumar\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

并放入函数definiton和别名。如上所述。

但是,在Linux中不必为此设置别名。sicne bash有一个环境变量$ CDPATH,可以在〜/ .bahsrc中设置。


是否有任何文件存储这些别名?如果我备份它会很有用。
Santosh Kumar

获取Cannot resolve alias 'htdocs' because it refers to term 'cd D:\xampp\htdocs', which is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.set-alias htdocs "cd D:\xampp\htdocs"
桑托斯·库马尔

好的,您最好写一个ckdlet。打开一个文本编辑器,然后输入:set-locaation c:\ xampp \ htdocs并将此文件另存为htdocs32.ps1。假设htdocs32.ps1保存在c:\ Users \ kumar \ htdocs32.ps1中,则可以使用别名htdocs c:\ Users \ kumars \ htdocs32.ps1。确保已正确设置执行策略。
l1zard

@SantoshKumar您的解决方案需要使用'/ d'标志来更改DRIVE,然后更改目录||。“ cd / d D:\ xampp \ htdocs”
Eddie B

2

实际上,您可以尝试这样做,它将创建一个自动加载的模块。

在C:\ Users \ kumar \ Documents \ WindowsPowerShell \下

创建一个新的文件夹Modules(如果不存在)。

PS C:\>mkdir Modules

在“模块”下,创建一个文件夹调用,例如:“ Quicky”

PS C:\>mkdir Quicky

创建一个名为“ quicky.psm1”的文件,.psm1是模块的扩展名。

编辑文件并添加该行。

function htdocs32 { set-location d:\xampp\htdocs }

保存模块。

然后只需调用函数“ htdocs32”

PS C:\>htdocs32

0

如果您对Powershell脚本的执行策略没有太多限制,则可以使用脚本来执行。请记住,与BASH不同,Windows脚本在完成后影响您的Shell,因此您不需要别名或bash函数等效项。

htdocs.ps1 (将此放在您的PATH上的某个位置,我本人会与cdhtdocs.ps1一起使用,但这是您的命名约定)

chdir "d:\xampp\htdocs"

注意:这也将根据需要更改驱动器。即,如果您从c:\ temp \开始,它将起作用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.