我的目标是在最后有一个别名来运行带有-o的命令。
PS C:\Users\XXXX> vlab -o <various different arguments>我试图设置别名,但Set-Alias将-o识别为参数选项,并将其放置在单引号或双引号中失败。
> set-alias vlab 'vlab -o'
> vlab
vlab : The term 'vlab -o' is not recognized as the name of a cmdlet, function, script file, or operable program.还设置了一个带有函数的profile.ps1,但是当我运行它时,它就挂起了。
Function VlabSpeed {
vlab -o
}
Set-Alias vlab VlabSpeed有可能设置这样的别名吗?如果是,怎么做?
谢谢
发布于 2022-07-15 22:39:25
概述:
E 215E 116notE 217 supported. >
要合并参数,确实需要一个函数,而不是别名:
Inside这个函数,您可以使用 @args 将任何参数传递给另一个命令,如Santiago Squarzon所指出的。--没有必要同时使用别名和函数--只需将函数直接命名为您想要的短名称。如果您的短(函数)名称与它包装的外部程序的文件名相同,则需要将这两个名称disambiguate ,以避免无限递归。
Windows上的
:- Use the external program's _filename extension_, typically `.exe`:函数vlab { vlab.exe -o @args }
类Unix平台上的
:- Given that executables there (typically) have _no_ filename extension, use the _full path_ to disambiguate:函数vlab { /path/to/vlab -o @args }
https://stackoverflow.com/questions/72998408
复制相似问题