三、Shell脚本高级编程实战第三部
保养好自己的发动机:身体的和心里的
身体健康:打打球,跑跑步
心里健康:多和大家接触,保持家人、朋友的良好关系
一、$*和$@的区别
$*:获取shell的所有参数,将所有的参数视为单个字符串。
$@ :获取shell的所有参数,将所有的参数视为单个字符串,即单个字体
身体健康:打打球,跑跑步
心里健康:多和大家接触,保持家人、朋友的良好关系
一、$*和$@的区别
$*:获取shell的所有参数,将所有的参数视为单个字符串。
$@ :获取shell的所有参数,将所有的参数视为单个字符串,即单个字体
linux 下set 和eval的使用小案例:
runlevel=$(set -- $(runlevel); eval "echo \$$#" );其中 eval表示二次扫描
推荐:http://blog.sina.com.cn/s/blog_4d2877090102v3cv.html
$$ 当前shell脚本的进程号,优雅的杀除为:kill -USR2 `$$`,某个脚本同时只能运行一个进程的时候,可以用这么命令把前面的一个杀除
二、shift命令:shift命令是移动位置参数的命令,向前移动一位
二、shift命令:shift命令是移动位置参数的命令,向前移动一位
三、bash内置变量命令
就是bash内容的命令,就是在linux下没有命令的位置文件,是在bash内置的,通过例如man cd 进行查看,如下
四、变量子串的常用操作(了解)
${#string} 返回变量的长度
${string:position} 从position之后开始提取
${string:positon:length} 从position之后开始提取,提取多少
五、计算
(())、let 、expr、bc、 $[]
1.bc可以计算浮点数;2.(())效率最高;3.expr 判断数字是整数和判断文件名 4.bc本身就是一个计算器
六、shell变量的输入
除了直接赋值和传参,还可以read从标准输入,内置变量
read [参数][变量名]:-p提示信息 -t 超时时间
read -p == echo -n