1.数组与关联数组
数组使用整数作为索引,关联数组使用字符串作为数组索引。
1.数组的定义:
arr=(1 2 3) 或者:arr[0]=1;arr[1]=2;arr[2]=3
获取元素 echo ${arr[0]}
获取全部 echo ${arr[*]} 或者 echo ${arr[@]}
2.关联数组(Bash 4.0后被引入),可以用任意文本作为数组的索引。
首先需要将一个变量定义为关联数组:declare -A arr
1) 赋值方式有两种:
第一种:采用 “索引-值”的方式
arr=([peter]=29 [gordon]=28)
第二种:单独赋值
arr[peter]=29
arr[gordon]=28
echo "peter's age is ${arr[peter]}"
2)列出数组的索引
echo ${arr[*]} 或者 ${arr[@]} # 打印出来 peter gordon
打印value :echo ${!arr[*]} # 29 28
2.别名
1)创建别名:
alias install='sudo apt-get install'
创建别名时,如果已经有同名的别名存在,那么原有的别名设置将被新的 设置取代。
2)alias命令咱叔的 关闭终端后就失效了,如果想一直可用就将其定义放入~/.bashrc中。
比如 echo 'alias a=cat' >> ~/.bashrc
3)删除别名
unalias a
4) 可以创建一个别名rm 删除的时候备份下例如:alias rm='cp $@ ~/backup && rm $@'
例举所有的别名:alias
3.采集终端信息
1)例子:输入密码
#!/bin/bash
echo -e "Enter password"
stty -echo
read pwd
stty echo
echo "pwd is $pwd"
2)例子:操作光标
#!/bin/bash
ttput sc #存储光标位置
for count in {1..20}
do
tput rc #回复之前的存储位置
tput ed #清除光标到这行结束位置所有内容
echo -n $count
sleep 1
done
4.字段分隔符
内部分隔符(Internal Field Separator,IFS) 用于分割字符串的
#!/bin/bash
data="peter,gordon,hello,james,tom"
oldIFS=$IFS
IFS=, #分隔符为 ,
echo oldIFS is $oldIFS
for item in $data
do
echo item is: $item
done
其他:
生成序列方式:
{1..10}
`seq 1 10`
未完待续。。。。。