我有远程安装的设备,可以访问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
是否必要?答案 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
实际上不是该过程不可或缺的一部分,但似乎该问题特别适用于在当前工作目录以外的目录中执行工作。