远程bash脚本并执行make命令

时间:2015-10-08 09:54:59

标签: bash makefile

我有远程安装的设备,可以访问Internet。由于我无法直接SSH,因此设备会从位于服务器中的.txt文件下载更新。设备将此.txt文件解释为一系列bash指令。

现在,我正在计划更新,需要在下载和覆盖某些文件后重新编译设备中的C程序。此更新的.txt文件的内容如下所示:

#!/bin/bash
curl -o /path-to-file/newfile.c http://myserver/newfile.c
sleep 10 #wait so it can download
cd /path-to-file
make
sleep 10 #wait to make
sudo /path-to-file/my-program #test if it worked

我之前测试过这种方法,它按预期工作,但从未测试make。几个问题:

  • 它应该有用吗?
  • sleep之后的make是否必要?

1 个答案:

答案 0 :(得分:1)

以下是如何将源代码文件检索到另一个目录,更改到该目录,使用make编译源代码然后执行生成的二进制文件的示例:

mkdir -p path-to-file/
curl -o path-to-file/newfile.c http://www.csit.parkland.edu/~cgraff1/src/hello_world.c
cd path-to-file/
make newfile
./newfile

cd实际上不是该过程不可或缺的一部分,但似乎该问题特别适用于在当前工作目录以外的目录中执行工作。