echo命令用法
-
格式
echo [参数] [字符串]
-
常用参数
常用参数 说明 -n 表示输出不换行 -E 禁止反斜杠转义,与-e参数功能相反 -e 输出转义字符,将转义后的内容输出到屏幕上
这边我们在echo -e后面可以添加很多转义符。
转义符 | 说明 |
---|---|
\b | 相当于退格键,但前提是“\b”后存在字符"\b"表示删除前一个字符"\b\b"表示删除前两个字符 |
\c | 不换行输出。后面无字符时相当于 echo -n"\c"后有字符时,将不被输出 |
\n | 换行,但是换行后的新行从“\n”处开始另起一行\f换行,但是换行后的新行的开头位置连接着上一行的行尾 |
\v | 与\f相同 |
\t | 转义后表示插入tab,即横向制表符\r光标移至行首,但不换行,相当于使用“\r”以后的数字覆盖之前相等长度的字符 |
\ | 表示插入“\”本身 |
-
echo命令截取前后字符
1.命令:echo ${i%,*} 输出结果:11,22,33 解析:从最后倒数到最短的匹配部分(用%)后面的逗号的地方被删除 2.命令:echo ${i%%,*} 输出结果:11 解析:从最后倒数到最长的匹配部分(用%%)后面的逗号的地方被删除 3.命令:echo ${i#*,} 输出结果:22,33,44 解析:从开头到最短的匹配部分(用#)后面的逗号的地方被删除 4.命令:echo ${i##*,} 输出结果:44 解析:从开头到最长的匹配部分(用##)后面的逗号的地方被删除
for循环
-
for循环结构
实例
-
需求
批量添加用户
-
具体步骤
1.用户名存放在users.txt文件中,每行一个
2.初始密码为123456
3.验证脚本 -
脚本
for name in $(cat /root/users.txt) do useradd $name echo 123456 | passwd --stdin $name &> /dev/null done
while循环
-
whil循环结构
-
需求
批量添加用户
-
具体
- 用户名以stu开头,按顺序进行编号
- 一共添加20个用户,即stu1、stu2、stu3…stu20
- 初始密码均设置为123456
-
脚本
a=1 while [ $a -le 20 ] do useradd stu$a echo 123456 | passwd --stdin stu$a let a++ done
until循环
-
结构
-
需求
计算1-100所有整数和
-
命令
a=1 sum=0 until [ $a -gt 100 ] do sum=$[$sum + $a] let a++ done echo $sum