linux 中 read -a 和 -r选项
001、-a: 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。
[root@pc1 test1]# read -a ay1 ## -a数据读入数组变量 aa bb cc 100 800 [root@pc1 test1]# echo $ay1 aa [root@pc1 test1]# echo ${ay1[@]} ## 输出数组的所有元素 aa bb cc 100 800 [root@pc1 test1]# echo ${#ay1[@]} ## 输出数组的长度 5
002、-r: -r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了。
[root@pc1 test1]# read -a ay1 ## 不加-r; \表示转移字符 aa \.bb cc dd 500 [root@pc1 test1]# echo ${ay1[@]} aa .bb cc dd 500 [root@pc1 test1]# read -r -a ay2 ## 增加-r; \则为普通的字符 aa \.bb cc dd 500 [root@pc1 test1]# echo ${ay2[@]} aa \.bb cc dd 500
。