单片机/MCUwilliam hill官网
直播中

嵌入式小能手

未满1年用户 363经验值
擅长:嵌入式技术
私信 关注
[文章]

嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之本地脚本的编写和执行

1、编写
建立一个myshell.sh文件,使用vim进行编辑。
elf@ubuntu:~/work/example/scrip_test$ vim myshell.sh
在该文件中,添加:
#!/bin/bash
echo "my first shell !"
5-1.png
其中#!/bin/bash用来指定使用的shell应用;echo "my first shell !"为脚本中编写的命令代码。
2、执行
在执行脚本时,脚本必须要有执行权限,首先给脚本赋予可执行权限:
elf@ubuntu:~/work/example/scrip_test$ sudo chmod a+x myshell.sh
执行脚本的方式一般有以下4种:
1)在脚本当前目录进行执行
直接使用./myshell.sh:
5-2.png
2)在绝对路径下执行
使用pwd命令查看当前路径,并使用绝对路径执行myshell.sh:
5-3.png
3)shell应用程序执行
shell脚本也可直接使用shell应用程序进行执行。我们前面说过,我们指定的shell应用为/bin/bash,所以,我们使用bash程序直接执行myshell.sh,或者/bin/bash myshell.sh:
5-4.png
如果使用shell应用进行执行,那么在脚本编写时,可以不用在第一行指定shell应用程序;此外,使用shell应用进行脚本执行时,脚本文件可以不被赋予可执行权限。
5-5.png
5-6.png
4)使用source或小数点(.)执行
使用source或 . (.后边有空格)执行,是在当前shell环境下读取并执行shell脚本,可以不被赋予执行权限。
5-7.png
与前几种执行方式不同的是,使用该方式执行后,脚本中定义的变量不会释放。例如,我在脚本中增加一个变量var=235,变量的定义具体细节,可以参考下一节。
#!/bin/bash
echo "my first shell !"
var=235
5-8.png
使用其他方式执行后,使用echo ${var}命令(关于变量的使用可以参考下一节)将变量值输出进行查看,如下图,可以看到没有输出var的值;然后再使用source. 或进行脚本执行,再次查看var变量的值,可以看到成功输出235,该方式执行脚本后的变量,没有释放,所以我们经常使用source来配置shell环境变量,后边讲开发板交叉编译工具设置时会使用到。
5-9.png

更多回帖

发帖
×
20
完善资料,
赚取积分