在Unix中,我创建了很多别名/函数。以下是我的工作流程:
* I have a file named 'aliases.txt' in my $HOME directory
* I have a quick command to edit that file
* I have an alias named 'sa' that sources that alias file. I.e.
alias sa='. $HOME/aliases.txt
所以我可以快速,轻松地创建,修改和使用新的别名。
我试图在Powershell中重新创建相同的工作流程,但它不起作用。我查到了他们的化名。$HOME目录下的ps1文件。我尝试创建一个"sa"别名,但当然Powershell别名不能包含参数。所以我试过
function sa {. $HOMEaliases.ps1 }
我可以运行它,但更改我的别名。Pl1文件不反映在我的shell会话。我认为这是因为Windows在一个新进程中运行'sa'函数,而Unix在同一进程中运行函数和别名。我怎样才能找回我的"sa"?
(顺便说一句,"类型"。$ HOME 别名。ps1"每次在命令行"不是我想要的答案。
Would
. sa
足够简洁吗?您只需要将函数调用点源到当前作用域。(注意点和函数名之间需要有一个空格)
你想干什么?你的问题有些地方没有意义。
好了,我现在明白了。
Import-Alias
正是为了这个目的!编辑文件并执行Import-Alias file
,您将获得已添加的新别名。
你的流程:
使用Set-Alias命令设置别名并将其添加到配置文件中,或者直接将该功能添加到配置文件中。
notepad $profile
(add the next in notepad)
function sa {. HOMEaliases.ps1 }
现在sa,应该是可用的和别名。ps1可以设置为使用Set-Alias
并添加别名。
你正试图将你在unix中所做的完全映射到Powershell。您应该尝试使用powershell提供的功能:
Powershell流:
notepad $profile
(in notepad)
Set-Alias <alias> <command>
只需在配置文件中添加Set-Alias命令。
或者使用Export-Alias
导出为文件,并添加Import-Alias
从配置文件中的文件导入。
所有这些都很好地解释在这里:http://technet.microsoft.com/en-us/library/ee692685.aspx