for循环
在脚本中 两种写法,不同的习惯而已
函数
declare -f
declare -F
函数定义只针对于当前窗口有效
unset funcname 删除方法
脚本 func_test
函数定义与调用函数 相分离
函数也可以使用参数
信号捕捉
数组
数组:存储多个元素的连续的内存空间,相当于多个变量的集
数值数组,不用声明,可以直接用,而自定义数组需要先声明
数组 一次赋多个值,可以看出本质上就是 空格隔开,这种结构可以有很多种方式实现
稀疏数组,不连续
交互式的赋值
自定义下标
字符串截取
declare [选项] 变量名
eval命令
该命令对变量进行两次扫描
[root@server ~]# CMD=whoami
[root@server ~]# echo $CMD
whoami
[root@server ~]# eval $CMD
root
[root@server ~]# n=10
[root@server ~]# echo {0..$n}
{0..10}
[root@server ~]# eval echo {0..$n}
0 1 2 3 4 5 6 7 8 9 10
mktemp 创建临时文件
mktemp fileXXXX
-d: 创建临时目录
-p DIR或--tmpdir=DIR:指明临时文件所存放目录位置
install 复制命令 顺便可以设置权限
expect
有时候我们执行命令,会交互式的问你,等待用户去输入东西,那如果是写在脚本中,也会提示让你输入的,但是我们写在脚本中,就是为了自动化的,所以可以使用expect工具,当出现某一些字符的时候,可以自动输入一些字符。
比如我们可以自动化的传一个文件,到很多台服务器上,以前的方式就是我们手动一个一个传,那多累,有脚本瞬间可以完成一百台服务器的文件拷贝工作。就是通过expect完成。
原文:https://www.cnblogs.com/hxfcodelife/p/12019866.html