ShellRead用法简介
read读取单个词.
 
$read name
$tony ma
$echo $name
tony ma

$read id passwd
$allen passwd
$echo $id
$allen
$echo $passwd
$passwd

$read id passwd
$allen kaka gogo
$echo $id
$allen
$echo $passwd
$kaka gogo
 
read读取整行.
 
    利用while循环来使read读取整行。
 
    以下是代码清单:
 
1  #!/bin/bash
2  lineno=1
3  cat $* |
4  while read -r line
5  do
6          echo "$lineno: $line"
7          lineno=$((lineno + 1))
8  done
 
read的嵌套.
 
 
    1while外层的read依次读取的是文件pbook中的每一行,而内层的read是从console读取的内容。
 
    2)要实现while read的嵌套,可以使用exec命令,将I/O重定向。
        注意exec的用法,以及括号的使用。
 
 
1  #!/bin/bash
2  echo -n "Enter name to be removed: "
3  read name
4  p=$(grep "$name " phonebook | wc -l)
5  echo $p
6  if [ "$p" -gt 1 ]
7  then
8          echo "More than one match ; Please select the one to remove;"
9          grep  "$name " phonebook > pbook
10          cat pbook | while read line
11          do(
12                echo -n  "$line  Remove(y/n)?"
13                exec < /dev/tty
14                read answer
15                if [ "$answer" = y ]
16                then
17                          grep -v "^$line$" phonebook > /p
18                          mv /p phonebook
19                else
20                          continue
21                fi
22            )
23          done
24  else
25          grep -v "^$line$" phonebook > /p
26          mv /p phonebook
27  fi
28  cat phonebookshell最简单脚本

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。