Shell 脚本
可以将很多命令放在一个文件里面,然后直接运行这个文件即可。shell 脚本类似 Windows 的批量处理文件,shell 脚本就是连续执行的命令写成一个文件。shell 脚本提供数组、循环、条件判断的功能。shell 脚本一般是 Linux 运维或者系统管理员要掌握的,而嵌入式开发,只要掌握 shell 最基本的部分即可。
一、什么是 shell 脚本
可以将很多命令放在一个文件里面,然后直接运行这个文件即可。
shell 脚本类似 Windows 的批量处理文件,shell 脚本就是连续执行的命令写成一个文件。
shell 脚本提供数组、循环、条件判断的功能。shell 脚本一般是 Linux 运维或者系统管理员要掌握的,而嵌入式开发,只要掌握 shell 最基本的部分即可。
https://blog.csdn.net/qq_64219867/article/details/150614983
二、shell 脚本写法
shell 脚本是纯文本命令,命令从上而下,一行一行的开始执行。shell 脚本扩展名为 .sh 。shell 脚本第一行一定为:
#!/bin/bash
表示 bash 。
三、 shell 脚本语法
①第一个 shell 脚本
vim my.sh
#!/bin/bash
echo "hello world!" //echo :表示在终端中输出显示
chmod 777 my.sh //改变其权限
./my.sh //运行
②交互式 shell 脚本(有输入有输出)
vim my.sh
#!/bin/bash
echo "Please input name:"
read name //将读到的内容复制到 name 这个变量
echo "your name:" $name //将 name 这个变量的值输出到终端中
./my.sh
③ shell 脚本的数值计算
shell 仅支持整形,数值计算使用 $((表达式)) 。
④ test 命令
test 命令用于查看文件是否存在、权限等信息,可以进行数值,字符、文件三方面的测试。
&& 和 || 命令:
cmd1 && cmd2 当 cmd1 执行完毕并且正确,那么 cmd2 开始执行,如果 cmd1 执行完毕错误,那么 cmd2 不执行。与。
cmd1 || cmd2 当 cmd1 执行完毕兵正确,那么 cmd2 不执行,反之 cmd2 执行。或。
⑤中括号 [] 判断符
只能在 [] 里面输入 == 或者 !=
记得 [] 里面无论是字符串还是数字都记得加 “”
⑥默认变量
$0~$n,表示 shell 脚本的参数,包括 shell 脚本命令本身, shll 脚本命令本身为 $0
$#: # 表示返回所有脚本参数的个数。
$@:表 $1、 $2、$3 ......
四、条件判断
shell 脚本支持条件判断,虽然可以通过 && 和 || 来实现简单的条件判断,但是稍微复杂一点的场合就不适应了。 shell 脚本提供了 if then 条件判断语句,写法三种:
①
if [条件判断]: then
//判断成立要做的事情
fi
②
if 条件判断 : then
//条件判断成立要做的事情
else
//条件判断不成立要做的事情
fi
③
if 条件判断 : then
//条件判断成立要做的事情
elif [条件判断]: then
//条件判断成立要做的事情
else
//条件判断不成立要做的事情
fi
④ case 语句 (与 c 语言的 switch case 相同)
case $变量 in
"第 1 个变量内容")
程序段
;; //表示该程序快结束!!
"第 2 个变量内容")
程序段
;;
"第 n 个变量内容")
程序段
;;
esac
五、函数
shell 脚本也支持函数,函数写法如下:
function fname() {
// 函数代码段
}
六、循环
shell 支持循环
while do done 表示当条件成立的时候一直循环,直到条件不成立。
while [条件] //中括号内的状态是判断式
do //循环开始
//循环代码段
done
until do done 表示当条件不成立的时候一直循环,条件成立以后就不循环了。
while [条件]
until do
//循环代码段
done
for 循环,使用 for循环可以知道循环次数。
var就是变量, con1就是值。
for var in con1 con2 con3 ......
do
// 循环代码段
done
for 循环数值处理,写法
for((初始值; 限制值; 执行步长))
do
//循环代码段
done
更多推荐




所有评论(0)