在Linux的命令行(终端或SSH)下创建Shell脚本,也是有坑所在的,需填需填
比如我创建一个简单的编译命令,在目录下存在如下几个文件:
- /Gpio/gpio.c
- /Gpio/gpio.h
- /RotaryEncoder/rotaryencoder.cpp
- /RotaryEncoder/rotaryencoder.h
其中gpio.c/gpio.h是个库,rotaryencoder使用多线程调用了gpio这个库,main函数在rotaryencoder.cpp中。我们开始...
1. 创建文件并编辑
在目录中创建名为build.sh的shell脚本文件,准备在里面编写编译命令
pi@Cocoonshu: cd ...(当前目录)...
pi@Cocoonshu: nano build.sh
2. 为sh文件编写文件头
在build.sh文件中的首行写入如下注释,以表示此脚本指定的执行器
#!/bin/bash
3. 在sh文件中编写编译命令
#!/bin/bash
mkdir obj
gcc -c ./Gpio/gpio.c -o ./obj/gpio.o
gcc -c ./RotaryEncoder/rotaryencoder.cpp -o ./obj/rotaryencoder.o -lstdc++ -lpthread
gcc ./obj/gpio.o ./obj/rotaryencoder.o -lstdc++ -lpthread rotaryencoder.exe
rm -rf ./obj
4. 为sh文件赋予可执行权限
这点尤其重要,不然不会发现build.sh根本执行不了,因为它只是一个被nano文本编辑器创建出来的文本文件
pi@Cocoonshu: chmod 777 build.sh
5. 执行sh文件来编译
pi@Cocoonshu: ./build.sh
完美!~
网友评论