在每次执行脚本/程序之前运行命令

时间:2017-01-13 15:33:24

标签: windows bash unix

我在Windows上使用Bash,而我所缺少的是一个很好的IDE。我尝试使用以下教程运行GUI应用程序,但每次都不能正常运行并且令人沮丧。

我想要的是运行将Windows文件夹中的文件复制到Unix子系统上的文件夹的脚本,但只运行不同的文件。对于另一个方向也是如此(如果我从终端更改某些内容,则在Windows文件夹中进行更新)。我希望每次在该文件夹中调用./SOME_EXECUTABLE时都会运行该脚本。对于检查天气,文件已更改或未更改我可以使用hg status,因为我主要使用Mercurial。

有没有办法在不制作单独的shell脚本来组合这些调用的情况下执行此操作?像宏一样。

2 个答案:

答案 0 :(得分:1)

您可以使用.bashrc中的功能来满足您的要求,并运行所需的script,根据您的需要从各台计算机上复制内容。假设你有脚本,比方说,例如copyScript.sh您可以添加类似

的功能
function copyOnExecute() {
    ./copyScript.sh
    ./EXECUTABLE
}

这样,每次要运行可执行文件时,都可以调用函数copyOnExecute

答案 1 :(得分:0)

您可以为.bash_aliases添加别名,例如:

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

您可以使用脚本路径替换./ 这将在脚本完成后运行可执行文件,并且只有在脚本成功完成后才会运行。

您可以更轻松地在其中一个.rc文件中编写函数 如果您要编写一个名为execute的函数,将来您可能会忘记它的写入位置,使用别名可以帮助您避免这种情况。