一、常用命令
echo -n 表示不换行输出
echo -e 输出转义字符,将转义后的内容输出到屏幕上
二、常用转义字符
\b | 删除前一个字符,相当于退格(backspace)键,前提是 “\b ”后存在字符;“\b”表示删除前一个字符,“\b\b”表示删除前两个字符 |
\c | 不换行输出,最后不加上换行符号,相当于 echo -n |
\f | 换行但光标仍旧停留在原来的位置 |
\n | 换行且光标移至行首 |
\r | 光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符;但是当"’\r"后面不存在任何字符时," \r"前面的字符不会被覆盖 |
\t | 插入tab |
\v | 与 \f 相同 |
\ | 表示插入\字符本身 |
\b 、\r 等转义符的数量 尽量和 字符数量一致
例:通过一条 echo 语句完成磁盘的格式化。
echo -e "n\np\n\n\n\nw\n" | fdisk /dev/sdb
n新建 回车 p主分区 回车 分区号回车 起始回车 大小回车 w保存回车
三、echo功能
1、字符串截取
//从最后倒数到最短的匹配部分(用%)后面的逗号的地方被删除
i=`echo "11,22,33,44"`
echo ${i%,*}
11,22,33
//从最后倒数到最长的匹配部分(用%%)后面的逗号的地方都被删除
echo $ { i%%,* }
11
//从开头到最短的匹配部分(用)后面的逗号的地方被删除
echo $ { i#*,}
22,33,44
//从开头到最长的匹配部分(用##)后面的逗号的地方被删除
echo $ { i##*,}
44
2、字符串截取
下标从0开始
3、获取变量长度
${#变量} 输出变量长度