Cmder: 使用等号创建别名在 cmder cli 中被截断

创建于 2017-02-02  ·  3评论  ·  资料来源: cmderdev/cmder

嘿,根据标题,当我尝试在 cmder 提示中创建带有等号的别名时, =附带的内容被截断并且没有正确存储在user-aliases.cmd文件中。

例如:
λ alias wifi=netsh wlan show profile $1 key=clear
将存储为:
wifi=netsh wlan show profile $1 ke

我猜$reasons cmder 将y=clear读作$something值得评估,因此它与实际的别名存储过程切断了联系。 手动编辑文件很快就解决了这个问题。

我是否公然遗漏了我没有准确阅读的不断增长的Effin' 手册中的某些内容? 😛

最有用的评论

看起来 doskey 命令(别名包装)处理您的示例,因此这可能是 alias.bat 脚本中的错误。

您可以通过修改 alias.bat 并将第一行更改为<strong i="6">@echo</strong> on进行调试。 现在看它,我看到脚本使用“=”作为分隔符拆分别名字符串,并假设字符串中只有一个=。

这是一个修复:在 alias.bat 中,找到显示“:: validate alias”的行,然后在下面的行中将“2”替换为“*”,如下所示:

for /f "delims== tokens=1,* usebackq" %%G in ( echo "%_x%" ) do (

用你的例子,这似乎对我有用。

所有3条评论

看起来 doskey 命令(别名包装)处理您的示例,因此这可能是 alias.bat 脚本中的错误。

您可以通过修改 alias.bat 并将第一行更改为<strong i="6">@echo</strong> on进行调试。 现在看它,我看到脚本使用“=”作为分隔符拆分别名字符串,并假设字符串中只有一个=。

这是一个修复:在 alias.bat 中,找到显示“:: validate alias”的行,然后在下面的行中将“2”替换为“*”,如下所示:

for /f "delims== tokens=1,* usebackq" %%G in ( echo "%_x%" ) do (

用你的例子,这似乎对我有用。

感谢您详细解释手头的问题,对我来说非常有用,因为我是 CMD 方面的新手! :)
我可以确认您的更正解决了问题,谢谢! 我应该做PR吗?

我可以使用修复创建拉取请求。 感谢您确认它对您有用。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

danwellman picture danwellman  ·  3评论

Joe1992w picture Joe1992w  ·  3评论

brunowego picture brunowego  ·  3评论

zsedcbm picture zsedcbm  ·  3评论

luisrudge picture luisrudge  ·  3评论