Tho*_*mas 5 windows alias bash-alias cmd.exe
我尝试通过定义 doskey 别名在(docker)容器内运行Laravel 的 Artisan命令。
我的想法是:
php artisan=docker-compose exec apache php artisan $1
Run Code Online (Sandbox Code Playgroud)
但是,它不允许我在密钥中使用空格。知道如何实现这一目标吗?
编辑我为 Windows 制作了一个小的 GUI 工具来运行命令https://github.com/thomasmoors/DockerArtisan
在这种情况下,我必须给出否定的答案 - 在 doskey 名称中使用空格是不可能的。Doskey 是为命令提示符 (cmd) 创建的,因此在概念上相当简单。
我认为这是不可能的,因为:
doskey a b=ab
,无效选项需要“a”以下是我运行的一些测试:
如您所见,可以接受一些特殊字符,但不能接受空格。
即使宏名称中没有空格,doskey 也是一个旧的 DOS 程序,只能在 PowerShell 中困难地工作。它与PSReadLine
依赖本机控制台输入功能的模块冲突。我测试了这个:
如您所见,您需要执行两个额外的操作:
Remove-Module PSReadLine
/exename=powershell.exe
两者都完成后,命令将正确执行并给出正确的错误。
我最好的建议是不要在 PowerShell 中使用 doskey。Doskey 是旧的,PowerShell 是新的,它们只能很难一起使用。我真的不认为 doskey 有用到不可替代。
尝试为您常用的命令找到另一种解决方案。例如,存储在可执行文件,如命令.ps1
或.cmd
或.bat
文件夹,你会添加到PATH中。