Я искал способ запуска командных файлов DOS из командной строки Cygwin без ввода расширения.
Это будет возможно?
В настоящее время я должен ввести расширение, иначе Cygwin не найдет командный файл.
Я искал способ запуска командных файлов DOS из командной строки Cygwin без ввода расширения.
Это будет возможно?
В настоящее время я должен ввести расширение, иначе Cygwin не найдет командный файл.
Я не нашел другого решения, поэтому я сделал то, что сказал Голимар.
Вот простой скрипт, который ищет файлы .bat
в определенном каталоге и создает псевдонимы.
Например, если в git.bat
есть файл /some/path
будет псевдоним git
который указывает на него.
Добавьте это к вашему ~/.bashrc
или ~/.zshrc
или к тому, что вы используете:
for f in /some/path/*.bat; do alias `basename "${f%.bat}"`=$f; done
Другой обходной путь - использовать внутреннюю функцию bash command_not_found_handle()
следующим образом:
command_not_found_handle() {
echo "bash: $1: command_not_found_handle()" >&2
LOWERCASE_CMD=$(echo "$1" | tr '[A-Z]' '[a-z]')
shift
[ -f /cygdrive/c/CLIPrograms/${LOWERCASE_CMD}.bat ] && /cygdrive/c/CLIPrograms/${LOWERCASE_CMD}.bat "$@"
return $?