2

Можно ли запустить программу Windows из оболочки Cygwin? (аналогично запуску unix-команд в PHP с помощью «exec (…)»)

Мой пример: я хотел бы запустить резервное копирование базы данных в cygwin, однако mysqldump не существует для cygwin. Поэтому мне нужно вернуться к версии Windows (c:\xampp\mysql\bin\mysqldump…). Можно ли запустить это изнутри Cygwin?

3 ответа3

3

Конечно, просто запустите. Путь, вероятно, что-то вроде /cygdrive/c/xampp/mysql/bin/mysqldump . Просто помните, что любые пути, которые вы передаете TO mysqldump должны быть в формате Windows (не cygwin). Или вы можете использовать программу cygpath для преобразования путей для вас.

1

Я нашел ответ с SO сайта полезным.

Найдите файл ".bash_profile" в пути установки Cygwin (cygwin \home \user-name)

Поместите следующие строки в файл.

export desktop="desktop path"

alias chrome="cygstart C:/Program\ Files\ \(x86\)/Google/Chrome/Application/chrome.exe"

alias dbDump="c:/xampp/mysql/bin/mysqldump"

Сохраните и закройте файл.

ПРИМЕЧАНИЕ. Важно, чтобы экранирующие символы в пути и пути были в формате POSIX, а не в формате Windows. Запустите Bash. казнить

$chrome

Это откроет окно Chrome.
или же

$dbDump

Это выполнит программу mysqldump.

Если вы хотите изменить текущий рабочий каталог на рабочий стол, то

$>cd $desktop
1

Я делаю это так:

В .bashrc добавьте alias start='cmd /c start'

Затем используйте команду запуска при необходимости.

start .

Откройте текущий каталог в проводнике

start winword log.txt

Откройте log.txt в Word

Есть также "Cygstart", который также может работать для вас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .