echo
echo 是shell 的一个内部指令,用于在屏幕上打印出指定的字符串,默认会换行,格式如下:
echo arg
1)打印普通字符
双引号可有可无,但是习惯还是带上;对于多行字符串,echo 也会照原样输出,如下:
2)显示转义字符和变量
echo 默认不开启转义,如果要显示开启转义的话需要加 -e 选项,如下:
3)显示不换行
显示不换行需要加 -n 选项,如下:
4)将显示结果重定向到文件中
需要用到重定向符号 > ,如下:
重定向符号 > 会自动创建一个文件,然后将 echo 的输出结果写入到文件中,如果文件之前存在,那么会删除原来的内容;
5)照原样输出字符串
使用单引号就可以实现,单引号不会对字符串的内容进行转义,如下:
6)显示执行命令的结果
命令需要使用反引号括起来,如下:
echo `date`
结果将显示当前日期
Thu Jul 24 10:08:46 CST 2014
7)显示内容带颜色
格式如下:
echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"
其中41的位置代表底色, 36的位置是代表字的颜色
注:
1、字背景颜色和文字颜色之间是英文的""
2、文字颜色后面有个m
3、字符串前后可以没有空格,如果有的话,输出也是同样有空格
字颜色:30—–37
字背景颜色范围:40—–47
echo输出的字符串总结
===================================================================
能否引用变量 | 能否引用转移符 | 能否引用文本格式符(如:换行符、制表符)
单引号 | 否 | 否 | 否
双引号 | 能 | 能 | 能
无引号 | 能 | 能 | 否
===================================================================
read
关于read命令的参数来看下面的例子:
read -p "请输入一段文字:" -n 6 -t 5 -s password
echo -e "\npassword is $password"
- -p 输入提示文字
- -n 输入字符长度限制(达到6位,自动结束)
- -t 输入限时
- -s 隐藏输入内容
- -e 开启转义
read 命令一个一个词组地接收输入的参数,每个词组需要使用空格进行分隔;如果输入的词组个数大于需要的参数个数,则多出的词组将被作为整体为最后一个参数接收。
例子如下:
read firstStr secondStr
echo "第一个参数:$firstStr; 第二个参数:$secondStr"
结果如下:
$ sh test.sh
一 二 三 四
第一个参数:一; 第二个参数:二 三 四