参考链接:http://www.runoob.com/linux/linux-shell-echo.html
命令使用
1.echo命令与PHP指令类型,都是用于字符串输出。echo还支持-ne
语 法:echo [-ne][字符串]或 echo [--help][--version]
参 数:
- -n 不要在最后自动换行
- -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
#!/bin/bash
echo "go home"
echo go home
#双引号转义
echo "\"go home\""
2.read命令类似于PHP的fwrite(STDOUT, $str . ":")交互输入命令。命令执行到read时会阻塞等待外部输入
#!/bin/bash
read say
echo "you say ${say}"
3.printf命令跟echo一样也是一个输出命令,它比echo功能丰富点,有点类似php的printf支持格式化输出
printf 命令的语法:
printf format-string [arguments...]
- format-string: 为格式控制字符串
- arguments:为参数列表
#!/bin/bash
# author:菜鸟教程
# url:www.runoob.com
printf "%-10s %-8s %-4s\n" 性别 年龄 体重kg
#输出结果 female 22 66.13
printf "%-10s %-2d %-4.2f\n" female 22 66.1264
%s %c %d %f都是格式替代符
%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。
%-4.2f 指格式化为小数,其中.2指保留2位小数
包含以下转义字符可用
- \a 警告字符,通常为ASCII的BEL字符
- \b 后退
- \c 抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略
- \f 换页(formfeed)
- \n 换行
- \r 回车(Carriage return)
- \t 水平制表符
- \v 垂直制表符
- \\ 一个字面上的反斜杠字符
- \ddd 表示1到3位数八进制值的字符。仅在格式字符串中有效
- \0ddd 表示1到3位的八进制值字符