Shell编程之二——read ,array,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell编程之二——read ,array,相关的知识,希望对你有一定的参考价值。

一、read 的用法

  作用:读取键盘的输入

  用法:

  ①、简单的shell读取;

  技术分享

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

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

  ②、从脚本里面读取;

[[email protected] 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
[[email protected]ocalhost opt]# vim zz.sh
[[email protected] opt]# cat zz.sh 
#!/bin/bash
echo "qin shu ru ni de ming zi"
read name
echo "huan yin ni: $name"
[[email protected] opt]# chmod +x zz.sh 
[[email protected] opt]# ./zz.sh 
qin shu ru ni de ming zi
machine
huan yin ni: machine
[[email protected] opt]# 

也可以下面的写法:

[[email protected] opt]# vim zz.sh 
[[email protected] 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"
[[email protected] opt]# ./zz.sh 
qin shu ru ni de ming zi machine
huan yin ni: machine
[[email protected] 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:

  

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

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

[[email protected] opt]# 

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

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

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

 

以上是关于Shell编程之二——read ,array,的主要内容,如果未能解决你的问题,请参考以下文章

shell简单使用变量之二

python大法之二-一些基础

shell编程-read命令if语法case语法实战

Linux Shell常用技巧 Shell编程

Shell编程-数值相加的三种方式

shell编程_获取用户输入