读取命令行的输入,如下List-1所示:
List-1
mjduan@dmj:/tmp$ more read.sh
echo -n "Enter your name:"
read name
echo "Hello $name"
read -p "Enter your email:" email
echo "Your email:$email"
read -s -p "Enter your password:" pwd
echo "Your password:$pwd"
echo后面的-n表示不换行,不然光标就不会停在name后面
read后面加上一个-p,这样read命令可以显示提示,且将结果存在变量email中,如下List-2
加上一个-s就是读取密码,这种不会将输入的文本显示出来.
注意:在ubuntu/deepin系统上得用bash read.sh来执行,用sh read.sh执行的话会报错
List-2
mjduan@dmj:/tmp$ sh read.sh
Enter your name:mjduan
Hello mjduan
Enter your email:126@mail.com
Your email:126@mail.com
List-3
#!/bin/bash
count=1
//赋值语句,不加空格
cat test | while read line
//cat 命令的输出作为read命令的输入,read读到的值放在line中
do
echo "Line $count:$line"
count=$[ $count + 1 ] //注意中括号中的空格。
done
echo "finish"
exit 0
bash readFile.sh执行的结果
List-4
mjduan@dmj:/tmp$ bash readFile.sh
Line 1:Hello
Line 2:world
Line 3:Jack
Line 4:Ma
Line 5:Mack
Done