2017-01-13 7 views
1

Я использую Bash для Windows, и то, что мне не хватает, является хорошей средой IDE. Я попытался запустить графическое приложение со следующим учебным пособием, но он не работает хорошо каждый раз, и это расстраивает.Выполнение команды перед каждым исполнением скрипта/программы

Я хочу запустить сценарий, который скопировал бы файлы из папки в Windows в папку подсистемы Unix, но только файлы, которые отличаются друг от друга. И то же самое для другого направления (если я что-то изменил с терминала, чтобы обновляться в папке Windows). Я хочу, чтобы этот сценарий запускался каждый раз, когда я вызываю ./SOME_EXECUTABLE в этой папке. Для проверки погоды файл был изменен или нет, я могу использовать hg status, потому что я в основном работаю с Mercurial.

Есть ли способ сделать это без создания отдельного сценария оболочки, который бы объединил эти вызовы? Что-то вроде макроса.

+0

Я думаю, вместо написания такого скрипта вам необходимо настроить сервер samba –

ответ

0

Вы можете добавить псевдоним для .bash_aliases, таких как:

alias execute="./copyScript.sh && ./$1" 

Вы можете заменить ./ скрипты путем
Это запускает исполняемый файл после того, как ваш сценарий закончен, и только тогда, когда он закончил успешно.

Было бы проще для вас, то написание функции в одном из файлов .rc
Если вы хотите написать функцию с именем выполнения, в будущем вы могли бы забыть, где было написано, используя псевдоним помогает избежать этого ,

1

Вы можете использовать функцию в .bashrc для достижения ваших требований и запустите свой нужный script, который копирует материал с разных машин по мере необходимости. Предполагая, что у вас есть сценарий на месте, скажем, например, copyScript.sh вы можете добавить функцию как

function copyOnExecute() { 
    ./copyScript.sh 
    ./EXECUTABLE 
} 

Таким образом, вы можете вызвать функцию copyOnExecute, каждый раз, когда вы хотите, чтобы запустить исполняемый файл.

Смежные вопросы