文章目录
echo 操作
echo 输出默认自带换行符
常用参数:
- -n:不要在最后自动换行
- -e:若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出(允许解释加反斜线的转义字符)
- \a 发出警告声
- \b 删除前一个字符,相当于退格(backspace)键,前提是 \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开始
功能三:获取变量长度