关于shell中read命令接收多个参数

比如需求为:用 read 接收输入的两个参数,做为用户名和密码,用一句实现。

实现方法:

#!/bin/bash
stty erase ^h
read -p "请输入用户名密码,空格隔开: " username password
echo $username
echo $password

运行结果:

 

 

 

把第一个输入赋值给 username 变量,空格后面的输入赋值给 password 变量。

如果在输入内容时,输入错误,用退格键删除时,会显示^H,删不掉错误的内容,如图:

 

 

解决方法就是在脚本顶部上加
stty erase ^h  这行代码(上面脚本已经加了,演示图中的脚本没加),就可以实现退格删除,另一种方法就是按着 ctrl+退格 删除。