echo命令
echo作为基础的输出命令:
基本的输出用法
[root@VM-0-17-centos 01]# echo "aaa"
aaa
[root@VM-0-17-centos 01]#
加参数
-n
:不换行
[root@VM-0-17-centos 01]# echo -n "aaa"
aaa[root@VM-0-17-centos 01]#
-e
:开启转义
默认不会转义一下字符:
\t:空格
\b:删除一个字符
…还有很多
默认输出是左对齐
[root@VM-0-17-centos 01]# echo "aaa"
aaa
-e开启转义**\t**
[root@VM-0-17-centos 01]# echo -e "\taaa"
aaa
\t:删除一个字符
如果左右都有字符,删除右边一个字符
如果只有右边有字符,删除右边一个字符
如果只有左边有字符,不删除
[root@VM-0-17-centos 01]# echo -e "ccc\baaa"
ccaaa
[root@VM-0-17-centos 01]# echo -e "\baaa" aaa
[root@VM-0-17-centos 01]# echo -e "ccc\b"
ccc
[root@VM-0-17-centos 01]#
read命令
交互用的输入命令read
最常见的就是登录linux输入用户名和密码:
echo "Login:"
read
echo "passwod:"
read
运行效果
[root@VM-0-17-centos 01]# bash read.sh
Login:
123
passwod:
123
[root@VM-0-17-centos 01]#
加参数
-s
:不显示输入的内容
echo -n "Login:"
read
echo -n "passwod:"
read -s
echo ""
不显示输入的password
[root@VM-0-17-centos 01]# bash read.sh
Login:123
passwod:
[root@VM-0-17-centos 01]#
-p
打印字符
#echo -n "Login:"
read -p "Login:"
#echo -n "passwod:"
read -p "password:" -s
echo ""
效果一样
[root@VM-0-17-centos 01]# bash read.sh
Login:123
passwod:
[root@VM-0-17-centos 01]#
-t
指定等待输入的时间,指定时间内未输入直接继续执行不等待输入
#echo -n "Login:"
read -p "Login:" -t5
#echo -n "passwod:"
read -p "password:" -s
echo ""
5秒后未输入,继续执行
[root@VM-0-17-centos 01]# bash read.sh
Login:password:
[root@VM-0-17-centos 01]#
-n
只读取指定输入字符的长度
#echo -n "Login:"
read -p "Login:" -t5 -n3
echo ""
#echo -n "passwod:"
read -p "password:" -s
echo ""
结果只接受三个字符
#echo -n "Login:"
read -p "Login:" -t5 -n3 username
echo ""
#echo -n "passwod:" pasword
read -p "password:" -s password
echo ""
echo "login:$username----password::$password"
结果
[root@VM-0-17-centos 01]# bash read.sh
Login:centos
password:
login:cen----password::tos123456
username和password作为变量接收两次输入的值
login只读取了前三个字符,后面的三个字符由下一次的输入读取到