shell编程(二)输入,输出和算术拓展

 输入—read

形式:

1.read var    读取标准输入到var

2.read          不指定变量,读取标准输入到一个内置变量:REPLY

3.read -a arr 读取标准输入到数组

# -p 输出提示信息,-t 限定时间(s),超时返回
read -p "please input 3 digits:" -t 10 -a arr

输出—echo

形式:

1.echo "Hello world"      输出一行文本

2.echo $var 或 echo ${var}   输出变量值

# -n 输出helloworld后不换行
echo
-n "helloworld"
# 若没有-e,输出 , -e输出一个Tab
echo -e " "

# 设置前景色,范围33[30m -- 33[37m
# 设置背景色,范围33[40m -- 33[47m
# 设置光标位置33[y;xH
# 0黑色, 1深红, 2绿色, 3黄色, 4蓝色, 5紫色, 6青色, 7白色
echo -e "33[31m"  # 前景色
echo -c "33[5;10H33[31;46m" #同时设置光标前景色和背景色

# 取消设置
echo -e "33[0m"  

引号的区别

1.单引号' '  忽略所有特殊字符

2.双引号" "  忽略部分特殊字符,不包括$ `

# 不加'',将输出当前目录下所有文件
echo
'*'

3.反引号``  命令替换(将一个命令的标准输出插入到命令的任何位置)

   $()与``等价

算术扩展

1.$[]

# 输出n+1
n=5
echo $[$n+1] # or $(($n+1))

2.((n+=1))  # n自增1,不能作为表达式的一部分,也不能赋给另一个变量

3.

expr 4 + 5      # 计算4+5,+号俩边要有空格
r=`expr 4 + 5`   # 不能直接赋值给r,使用命令替换
r=`expr 4 * 5`  # '*'要转义

4.let

n=5
let n=n+1 # 不需要$

    

原文地址:https://www.cnblogs.com/ezhengnan/p/3661651.html