Shell中Read用法簡介
一. 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=13 cat $* |4 while read -r line
5 do
6 echo "$lineno: $line"
7 lineno=$((lineno + 1))
8 done 三. read的巢狀. 1)while外層的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 > /tmp/phonebook.tmp
18 mv /tmp/phonebook.tmp phonebook
19 else
20 continue
21 fi22 )
23 done
24 else
25 grep -v "^$line$" phonebook > /tmp/phonebook.tmp
26 mv /tmp/phonebook.tmp phonebook27 fi28 cat phonebook
$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=13 cat $* |4 while read -r line
5 do
6 echo "$lineno: $line"
7 lineno=$((lineno + 1))
8 done 三. read的巢狀. 1)while外層的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 > /tmp/phonebook.tmp
18 mv /tmp/phonebook.tmp phonebook
19 else
20 continue
21 fi22 )
23 done
24 else
25 grep -v "^$line$" phonebook > /tmp/phonebook.tmp
26 mv /tmp/phonebook.tmp phonebook27 fi28 cat phonebook
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11411056/viewspace-733472/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Shell--簡介
- shell中set指令的用法
- 【Linux shell】while read lineLinuxWhile
- InfluxDB簡介與php用法UXPHP
- 簡單介紹SQLserver中的declare變數用法SQLServer變數
- 簡單介紹Python中異常處理用法Python
- js迴圈中reduce的用法簡單介紹JS
- Shell程式設計-read命令程式設計
- shell程式設計—簡介(一)程式設計
- 簡單介紹Shell中的定時任務 crontab
- 3個例項介紹shell指令碼中幾個特殊引數的用法指令碼
- linux命令下jq的用法簡介Linux
- Hadoop框架:HDFS簡介與Shell管理命令Hadoop框架
- 【SHELL】grep 命令用法
- 簡單介紹shell中的curl網路請求的實現
- MSSQL Sql加密函式 hashbytes 用法簡介SQL加密函式
- Linux Shell中各種括號用法總結!Linux
- 05 Shell read讀取控制檯輸入
- Shell中的字串擷取介紹字串
- mssql sqlserver update delete表別名用法簡介SQLServerdelete
- Java Math floor,ceil,rint及round用法簡介Java
- 理解 shell 指令碼中的常見用法: 2>&1指令碼
- Python中read()、readline()和readlines()三者間的區別和用法Python
- shell介紹
- Shell 中 $ 關於指令碼引數的幾種用法指令碼
- 『簡書API:jianshu 基於golang -- 用法介紹 (2)』APIGolang
- Golang | 簡介channel常見用法,完成goroutin通訊Golang
- JSP簡介以及各種內建物件的用法JS物件
- Shell程式設計 --- Shell介紹程式設計
- PTSQLServer中exists和except用法介紹wkaSQLServer
- Shell-變數高階用法變數
- Python中的selenium的簡單用法Python
- C++中const的簡單用法C++
- MongoDB shell 介紹MongoDB
- mssql sqlserver 關鍵字 GROUPING用法簡介及說明SQLServer
- linux中斷 簡介Linux
- 01 . Shell詳細入門介紹及簡單應用
- fstream中ifstream和ofstream的簡單用法
- shell 語法介紹