Linux系统编程
- Shell 脚本编程;对象:操作系统
一种解释型语言;shell 命令解释器的统称;后缀(.sh);
边翻译边执行,擅长文件处理以及操作系统的管理;
开发效率高,执行效率低,移植性好(相较于C);
编译型语言先编译再执行;擅长数据计算和数据处理;开发效率低
执行效率高;移植性差
- shell脚本编写流程:
1.vim XX.sh #!/bin/bash
2.编写脚本
3.chmod +x XX.sh
4. ./XX.sh
shell脚本的本质就是一系列shell命令的集合
- shell变量
1.环境变量: env
PATH:保存当前工作的默认路径
PWD:当前所在的工作路径
HOME:当前登录用户的家目录
main(int argc,char* argv[])
2.位置变量: ./3.sh /etc/passwd 123 456 内置变量
$0:脚本文件名
$1:传入脚本的第一个参数
$2:传入脚本的第二个参数
...
$9:
cp /etc/456 ./
$#:传入参数的个数
$?:上一句shell命令执行的结果
$$:当前shell的PID
a=123 - shell脚本输入输出
read a
echo '$a'
a+b;
" ":打印字符串,遇到$变量则打印变量中的值
' ':打印字符串,遇到$变量依然打印$变量
` `:将中间的字符串按照命令打印 - 分支语句:
1.if语句
if 条件
then
语句
else
语句
fi
if
then
elif []
then
elif []
then
else
fi
if []
then
fi;
2.case
case $num in
9)语句
;;
8|||)语句
;;
7)语句
;;
*)语句
;;
esac
- 循环语句
while [ 条件 ]
do
语句
...
done
for
until
test
-b 块设备文件 test -b /dev/usb0
-c 字符设备文件
-d 目录文件
-f 普通文件
-L 链接文件
-S 套接字文件
-p 管道文件
-a and
-o or
-ne 不相等
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于