echo的用法
echo的选项
-
-n:表示不换行输出输出
-
-e:输出转义字符,将转义的内容输出到屏幕上
常用的转义字符
| 转义字符 | 作用 |
|---|---|
| \b | 转义后相当于按退格键,但前提是"\b"后面存在字符;"\b"表示删除前一个字符,“\b\b”表示删除前两个字符 |
| \c | 不换行输出,在"\c"后面不存在字符的情况下,作用相当于echo -n;一但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出 |
| \n | 换行,被输出的字符从"\n"处开始另起一行 |
| \f | 换行,但是换行后的新行的开头位置连接着上一行的行尾 |
| \v | 与\f相同 |
| \t | 转以后表示插入tab,即横向制表符 |
| \r | 光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符;但是当"\r"后面不存在任何字符时,"\r"前面的字符不会被覆盖 |
| \\ | 表示插入" \ "本身 |
-
退格\b
-
不换行输出\c
-
换行输出\n、\f、\v
-
制表符隔开\t
-
覆盖字符\r
-
\的两个作用
- 一个是可以配一些普通字符实现特殊效果
- 另一个是可以把一些特殊符号转换成普通字符
echo截取字符输出
echo ${变量:该位下标:截取长度}
echo ${i%,*} #从字段最后开始删,删到以,分隔的最短部分位置(其中,可替换为其他字符)
echo ${i%%,*} #从字段最后开始删,删到以,分隔的最长部分位置
echo ${i#*,} #从字段最前面开始删,删到以,分隔的最短部分位置
echo ${i##*,} #从字段最前面开始删,删到以,分隔的最长部分位置
其中,可替换为其他字符
echo获取字符串长度
echo ${#变量名}
实操一:自动生成八位随机密码
IFS分隔符
linux中IFS是分隔符的意思,set | grep IFS可查看
更改局部配置的IFS
-
空格默认是分隔符
-
在当前脚本指定换行符即可
- 也可以指定其他的分隔符
保留原本的IFS
while加read按行读取文件
while read line #line为变量名
do
...
done < file
for循环读取文件内容
while循环读取文件内容
-
方式一:
-
方式二:结合管道符 |
实操二:分割文件
- 将一个文件每50行分隔到一个新的文件中
md5sum
用来计算和校验文件报文摘要的工具程序。
可以把文件转换成一个md5的校验和。