要编写一个shell脚本来执行Makefile并下载生成的可执行文件到开发板,你需要确保开发板可以通过某种方式(如SSH、FTP、SCP等)访问。以下是一个简单的shell脚本示例,它使用scp命令将可执行文件从本地机器复制到开发板。
假设你的开发板可以通过SSH访问,并且你已经配置了SSH密钥认证,这样你就不需要输入密码。同时,假设你的开发板的IP地址是192.168.1.100
,你的用户名是user
。
创建一个名为deploy.sh
的shell脚本文件,并添加以下内容:
bash
#!/bin/bash
# 定义开发板的IP地址、用户名和可执行文件名
DEPLOY_IP="192.168.1.100"
DEPLOY_USER="user"
PROJECT_NAME="project"
# 编译项目
make
# 检查Makefile是否成功执行
if [ $? -ne 0 ]; then
echo "Makefile failed to execute."
exit 1
fi
# 获取可执行文件的路径
EXECUTABLE_PATH="./${PROJECT_NAME}"
# 检查可执行文件是否存在
if [ ! -f "${EXECUTABLE_PATH}" ]; then
echo "Executable file not found."
exit 1
fi
# 将可执行文件复制到开发板
scp "${EXECUTABLE_PATH}" "${DEPLOY_USER}@${DEPLOY_IP}:~/"
# 检查scp命令是否成功执行
if [ $? -ne 0 ]; then
echo "Failed to copy executable to the development board."
exit 1
else
echo "Executable file copied to the development board successfully."
fi
确保你的脚本文件具有执行权限:
chmod +x deploy.sh
运行脚本:
./deploy.sh #source deploy.sh
这个脚本首先执行Makefile来编译项目。如果编译成功,它会检查生成的可执行文件是否存在。如果存在,脚本会使用scp命令将可执行文件复制到开发板的指定路径。如果scp命令执行成功,脚本会输出成功消息;如果失败,脚本会输出错误消息并退出。
此外,还可以使用FTP或通过USB存储设备。
标签:脚本,可执行文件,shell,Makefile,开发板,sh,scp From: https://www.cnblogs.com/ZGLi/p/18248489