首页 > 代码库 > Shell编程之二——read ,array,

Shell编程之二——read ,array,

一、read 的用法

  作用:读取键盘的输入

  用法:

  ①、简单的shell读取;

  技术分享

    注意:如果read后面没有加变量的话,默认赋值给REPLY

[root@localhost opt]# read         (read后面没有加变量名,默认赋值给REPLY)
123456
[root@localhost opt]# echo $REPLY
123456
[root@localhost opt]# 

  ②、从脚本里面读取;

[root@localhost opt]# ll
total 1756
-rw-r--r--. 1 root root     158 May 21 19:49 hosts
-rwxr-xr-x. 1 root root 1783106 May 26 18:36 putty-0.62.tar.gz
-rw-r--r--. 1 root root       3 May 21 19:49 xx
-rwxr-xr-x. 1 root root      79 Jun  5 21:34 xx.sh
[root@localhost opt]# vim zz.sh
[root@localhost opt]# cat zz.sh 
#!/bin/bash
echo "qin shu ru ni de ming zi"
read name
echo "huan yin ni: $name"
[root@localhost opt]# chmod +x zz.sh 
[root@localhost opt]# ./zz.sh 
qin shu ru ni de ming zi
machine
huan yin ni: machine
[root@localhost opt]# 

也可以下面的写法:

[root@localhost opt]# vim zz.sh 
[root@localhost opt]# cat zz.sh 
#!/bin/bash
#echo "qin shu ru ni de ming zi"
#read name
read -p "qin shu ru ni de ming zi " name       (注意read -p 的用法,不换行直接键盘输入)
echo "huan yin ni: $name"
[root@localhost opt]# ./zz.sh 
qin shu ru ni de ming zi machine
huan yin ni: machine
[root@localhost opt]# 

 

二、数组array的用法

  1、数组的定义;  xx=(aa bb cc dd)

  2、查看数组里面的某一个元素;     echo ${xx[2]}      (注意:下标是从0开始的)

  3、查看数组里面所有的元素;    echo ${xx[*]}     或者 echo ${xx[@]}        *  @

  3、查看数组的卷标(所有下标);  echo ${!xx[*]}    或者 echo ${!xx[@]}      

  4、查看数组里面元素的个数;    echo ${#xx[*]}   或者 echo ${#xx[@]}      #

  forexample:

  

//数组的定义
[root@localhost opt]# mm=(aa bb cc dd )    (元素之间没有逗号和分号)

//查看数组里面的某一个元素
[root@localhost opt]# echo ${xx[0]}
aa
[root@localhost opt]# echo ${xx[3]}
dd
[root@localhost opt]# echo ${xx[4]}       (数组下标是从0开始的) 

[root@localhost opt]# 

//查看数组里面的所有元素 (*/# 都可以)       
[root@localhost opt]# echo ${xx[*]}
aa bb cc dd
[root@localhost opt]# echo ${xx[@]}
aa bb cc dd
[root@localhost opt]# 

//查看数组的所有下标  (!)
[root@localhost opt]# echo ${!xx[*]}
0 1 2 3
[root@localhost opt]# echo ${!xx[@]}
0 1 2 3
[root@localhost opt]#

//查看数组里面元素的个数  (#)
[root@localhost opt]# echo ${#xx[*]}
4
[root@localhost opt]# echo ${#xx[@]}
4
[root@localhost opt]# 

 

Shell编程之二——read ,array,