
Я нашел несколько сообщений о псевдонимах командной строки в Windows, но большинство из них касается псевдонимов длинных cd
команд/путей, которые часто используются, и я не могу заставить их работать для своих нужд.
В моем случае я переключаюсь между Windows и MacOS довольно часто, когда использую командные строки. Поскольку я переключаюсь между ними, я обычно ввожу ls
или dir
в одном, или в другом и получаю очевидную ошибку.
Конкретно по этому вопросу, я хотел бы сопоставить некоторый тип псевдонима "ls" с "dir", так что если я случайно введу "ls", я получу ту же функциональность, что и команда "dir". Мне не нужно сложное сопоставление параметров, просто простой псевдоним для ls
to dir
.
Если есть решение, работающее для cmd, буду признателен за руководство.
решение1
В PowerShell оба параметра dir
и ls
имеют одинаковый эффект, один из них является псевдонимом другого.
решение2
В PowerShell такой псевдоним уже присутствует по умолчанию. (Точнее, обаls
и dir
являются псевдонимами командлета Get-ChildItem
. Он также имеет псевдонимы по умолчанию для cat
, rm
, и т. д.) Поэтому просто используйте DOSKEY для Cmd.
Подобно Bash, PowerShell имеет псевдонимы и функции оболочки:
Set-Alias -Name ls -Value Get-ChildItem
Set-Alias -Name vim -Value notepad.exe
Remove-Item -Path Alias:curl -ErrorAction Ignore
Function kssh {ssh -o PreferredAuthentications=gssapi-with-mic $args}
DOSKEY определяет псевдонимы на уровне окна консоли; они работают в Cmd, поскольку он считывает целую строку за раз и позволяет консоли обрабатывать фактический ввод (консоль также обеспечивает автодополнение файлов нажатием клавиши Tab), но не работают в PowerShell, поскольку он считывает ключи в «сыром» режиме, по одному ключу за раз (у него есть собственный «PSReadline», очень похожий на readline в Bash).