Linux Shell程式設計(26)——程式碼塊重定向
像 while, until, 和 for 迴圈程式碼塊, 甚至 if/then 測試結構的程式碼塊都能做到標準輸入的重定向. 即使函式也可以使用這種重定向的格式 。所有的這些依靠程式碼塊結尾的 < 操作符來做到.
例子:while 迴圈的重定向
例子:while 迴圈的重定向
#!/bin/bash
# redir2.sh
if [ -z "$1" ]
then
Filename=names.data # 如果沒有指定檔名,則指定這個預設值.
else
Filename=$1
fi
#+ Filename=${1:-names.data}
# 這句可代替上面的測試 (引數替換).
count=0
echo
while [ "$name" != Smith ] # 為什麼變數 $name 要用引號?
do
read name # 從$Filename檔案中讀而非在標準輸入中讀.
echo $name
let "count += 1"
done <"$Filename" # 重定向標準輸入到檔案$Filename.
# ^^^^^^^^^^^^
echo; echo "$count names read"; echo
exit 0
# 注意在老一些的shell指令碼程式語言裡,
# 因此, $count 值返回後會是 0, 此值是在迴圈開始前的值.
# Bash 和 ksh 只要可能就避免啟用子shell,
abc=hi
echo -e "1\n2\n3" | while read l
do abc="$l"
echo $abc
done
echo $abc
相關文章
- Linux Shell程式設計(25)——I/O 重定向Linux程式設計
- Linux Shell程式設計(1)——shell程式設計簡介Linux程式設計
- Linux Shell程式設計(3)——執行shell指令碼Linux程式設計指令碼
- linux shell 程式設計Linux程式設計
- linux shell程式設計Linux程式設計
- Linux 程式設計之Shell程式設計(轉)Linux程式設計
- 【學習】Linux Shell指令碼程式設計Linux指令碼程式設計
- Java - 26 程式碼塊Java
- Linux Shell程式設計(27)——子shellLinux程式設計
- Linux Shell程式設計(2)——第一個shell程式Linux程式設計
- Linux之shell程式設計Linux程式設計
- Linux Shell程式設計(1)Linux程式設計
- Linux Shell程式設計(2)Linux程式設計
- Linux Shell指令碼程式設計-基礎1Linux指令碼程式設計
- Shell程式設計基礎學習之五:重定向與指令碼除錯程式設計指令碼除錯
- Linux Shell程式設計(28)——程式替換Linux程式設計
- Shell 指令碼程式設計陷阱指令碼程式設計
- linux下的SHELL程式設計Linux程式設計
- Linux Shell指令碼程式設計while語句案例Linux指令碼程式設計While
- Linux Shell程式設計(4)——shell特殊字元(上)Linux程式設計字元
- Linux Shell程式設計(5)——shell特殊字元(下)Linux程式設計字元
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- shell程式設計程式設計
- shell指令碼程式設計筆記指令碼程式設計筆記
- 7.shell指令碼程式設計指令碼程式設計
- 初識shell指令碼程式設計指令碼程式設計
- shell指令碼程式設計基礎指令碼程式設計
- Linux系統程式設計(15)——shell指令碼語法Linux程式設計指令碼
- 前端學習 linux —— shell 程式設計前端Linux程式設計
- Linux Shell程式設計(15)——操作字串Linux程式設計字串
- Linux Shell程式設計(16)——迴圈Linux程式設計
- Linux Shell程式設計(29)——函式Linux程式設計函式
- Linux Shell程式設計(30)——別名Linux程式設計
- Linux Shell 程式設計實戰技巧Linux程式設計
- Linux的shell程式設計(一)(轉)Linux程式設計
- Linux的shell程式設計(二)(轉)Linux程式設計
- Linux的shell程式設計(三)(轉)Linux程式設計
- Linux的shell程式設計(四)(轉)Linux程式設計