while read line有2個不一樣的方式讀取文件:數據庫
以命令行結果做爲輸入:spa
cat /tmp/table.list|while read line; do命令行
echo $line
索引
donetable
直接以文件做爲輸入:循環
while read line; do數據
echo $line
腳本
done</tmp/table.listtab
腳本是從IBM AIX(KSH)系統中移植過來的,目的是要對DB2數據庫中表和索引進行維護。原來的腳本使用的是第1種方式,在IBM AIX下運行是沒有問題的。移植到SUSE LINUX(BASH)系統後,發現第1種方式在循環體中運行DB2語句會報找不到數據庫鏈接,須要在循環體中從新從新鏈接數據庫才能夠。後來換成第2種方式,就不須要在循環體中從新鏈接了。文件