默认情况下,我的 Windows PowerShell 启动于C:\Users\Santosh
,我的 XAMPP 安装在 ,D:\
因此 htdocs 文件夹位于D:\xampp\htdocs
。如果我需要在 htdocs 文件夹中编辑某些内容,则必须输入 fullcd D:\xampp\htdocs\
(自动完成功能不太好用)然后编辑该文件。
如果这个 PowerShell 是 Bash,我会在 .bash_aliases 文件中执行以下操作:
alias htdocs='cd D:\xampp\htdocs'
是否可以在 PowerShell 中维护 Bash 别名(如文件和任何命令的别名)?
答案1
你想要设置别名命令与 powershell 脚本或函数结合使用。因此,打开编辑器并输入:
set-location d:\xampp\htdocs
并将此文件保存到例如c:\用户\kumar\htdocs32.ps1或者您可以创建这样的函数。
function htdocs32 { set-location d:\xampp\htdocs }
要执行脚本,您必须在本地设置允许脚本的执行策略。以管理员身份打开 powershell 命令行并输入:
set-executionpolicy remotesigned
现在您可以为 powershell 脚本设置别名:
set-alias htdocs c:\Users\kumar\htdocs32.ps1
然后输入 htdocs now 将会进入你的 htdocs 文件夹
Powershell 正在使用动词名词用于命名所谓的 cmdlet 的组合。动词表示你想做什么,名词表示你想做某事。
要获取要使用的 set-alias 命令的帮助:
get-help set-alias -full |more
并没有更少。另一种方法是阅读这个http://technet.microsoft.com/en-us/library/ee176958.aspx
另外,要开始使用 power shell,我建议您查看这个网址: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
并输入函数定义和别名。如上所述。
但是在 Linux 中为此设置别名是没有必要的。因为 bash 有一个环境变量 $CDPATH,可以在 ~/.bahsrc 中设置。
答案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
答案3
有时function
在 PowerShell 中, 比 别名 效果更好。与 bash 不同alias
,WindowsSet-Alias
需要单个单词赋值,而不是由多个元素组成的命令字符串。
PS > function cal { bash -c cal }
PS > cal
April 2023
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
答案4
我为此苦苦挣扎了一段时间,并编写了这个 PowerShell 模块:
https://www.powershellgallery.com/packages/HackF5.ProfileAlias
https://github.com/hackf5/powershell-profile-alias
要开始使用,请通过以下方式安装:
Install-Module HackF5.ProfileAlias
Register-ProfileAliasInProfile
然后像这样使用它:
Set-ProfileAlias dkfeed 'Enter-Docker feed_app_container' -Bash
我自己已经使用了一段时间并且发现它非常有用。
(它只能在 PS 7.0 上运行,因为我是为自己编写的)。