shell脚本配置
shell编程:(shell/bash(linux) ->命令解释器)
解释类编程语言
边翻译边执行
擅长文件处理,系统操作
开发效率高
执行效率低
移植性好
c语言:
编程型语言
先编译再执行
擅长数据计算和数据处理
开发效率低
执行效率高
移植性差
shell脚本的本质就是一系列shell命令的集合
shell脚本编写流程:
1、vim XX.sh #!/bin/bash(第一行)
2、编写脚本
3、chmod(改变文件权限) + x(可执行权限) XX.sh
4、./XX.sh
备注:#
echo 等同于printf
-rwx rwx r-x 1 linux linux 29 Aug 3 10:12 1.sh*
-普通文件, d 目录, b 块设备 , c 字符设备,h/L 软链接(快捷方式),p 管道 ,s 网络文件(套接字)
作者权限,r读,w写,x执行 组用户(批量用户管理) 其他人
1 硬链接(允许两个文件名关联一个文件内容)linux(作者,组) 32 字节 文件最后写入时间 文件名
shell变量:
1、环境变量:env
LANG 语言 美式英文 全球统一字符型(UTF-8)(消除乱码)(英:中=1:3)
PWD 当前工作路径
PATH 保存当前工作的默认路径(多个路径,冒号隔开)
打开PATH路径,查找可执行程序
2、位置变量:
argc 有几个 *argv 表达内容
2、位置变量:
$0:脚本文件名
$1:传入脚本的第一个参数
$2:传入脚本的第二个参数
……
$# :传入参数的个数
$?:上一句shell命令执行的效果(成功返回0,失败返回1)
$$:当前shell的PID(正在运行的程序的编码)
3、shell脚本输入输出
脚本为弱类型语言,不需要定义类型,默认为字符型
输入:read
输出:echo
“”双引,打印字符串,遇到$变量则打印变量中值
‘’单引,打印字符串,遇到$变量依然打印$变量
``反单引,将中间的字符串按照命令打印
乘法为 \ *
*(通配符)代表当前目录所有的
赋值号左右两边不能空格
分支语句:
1、if语句
if (条件)[] /test(0为真,1为假) + 表达式
then(条件为真)
语句
else(条件为假)
语句
fi(结束)
例:
2、case
*等同于deflut
循环语句:
for i in
until[条件] 条件为假,执行循环,为真,停止
--------------------
嵌入式学习第十八天,今天开始了新的一轮学习,Linux系统编程。今天学习了shell脚本,有很多有趣的新知识,其语法也与c语言不同。后面在学习系统编程的过程中也要及时复习c语言的相关知识,正所谓温故而知新,继续加油吧!