• 正文
  • 推荐器件
  • 相关推荐
申请入驻 产业图谱

shell脚本编写之本地脚本的编写和执行

2024/08/29
848
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1、编写

建立一个myshell.sh文件,使用vim进行编辑。

elf@ubuntu:~/work/example/scrip_test$ vim myshell.sh

在该文件中,添加:

#!/bin/bash

echo "my first shell !"

其中#!/bin/bash用来指定使用的shell应用;echo "my first shell !"为脚本中编写的命令代码。

2、执行

在执行脚本时,脚本必须要有执行权限,首先给脚本赋予可执行权限:

elf@ubuntu:~/work/example/scrip_test$ sudo chmod a+x myshell.sh

执行脚本的方式一般有以下4种:

1)在脚本当前目录进行执行

直接使用./myshell.sh:

2)在绝对路径下执行

使用pwd命令查看当前路径,并使用绝对路径执行myshell.sh:

3)shell应用程序执行

shell脚本也可直接使用shell应用程序进行执行。我们前面说过,我们指定的shell应用为/bin/bash,所以,我们使用bash程序直接执行myshell.sh,或者/bin/bash myshell.sh:

如果使用shell应用进行执行,那么在脚本编写时,可以不用在第一行指定shell应用程序;此外,使用shell应用进行脚本执行时,脚本文件可以不被赋予可执行权限。

4)使用source或小数点(.)执行

使用source或 . (.后边有空格)执行,是在当前shell环境下读取并执行shell脚本,可以不被赋予执行权限。

与前几种执行方式不同的是,使用该方式执行后,脚本中定义的变量不会释放。例如,我在脚本中增加一个变量var=235,变量的定义具体细节,可以参考下一节。

#!/bin/bash

echo "my first shell !"

var=235

使用其他方式执行后,使用echo ${var}命令(关于变量的使用可以参考下一节)将变量值输出进行查看,如下图,可以看到没有输出var的值;然后再使用source. 或进行脚本执行,再次查看var变量的值,可以看到成功输出235,该方式执行脚本后的变量,没有释放,所以我们经常使用source来配置shell环境变量,后边讲开发板交叉编译工具设置时会使用到。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
S25FL256SAGNFI003 1 Spansion Flash, 64MX4, PDSO8, WSON-8
$10.46 查看
ABS07-32.768KHZ-4-T 1 Abracon Corporation CRYSTAL 32.7680KHZ 12.5PF SMD

ECAD模型

下载ECAD模型
$1.36 查看
NC7SZ86P5X 1 Fairchild Semiconductor Corporation XOR Gate, LVC/LCX/Z Series, 1-Func, 2-Input, CMOS, PDSO5, 1.25 MM, ROHS COMPLIANT, EIAJ, SC-88A, SC-70, 5 PIN
$0.23 查看
飞凌嵌入式

飞凌嵌入式

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。收起

查看更多

相关推荐