bash 循環(huán)中變量作用范圍的問題分析
更新時間:2013年01月29日 17:40:34 作者:
大家在bash編寫中,經(jīng)常需要用到循環(huán),但循環(huán)中變量作用范圍的問題有些朋友不是很懂,這里簡單分享下,方便需要的朋友
先來看一段錯誤的代碼。
復(fù)制代碼 代碼如下:
#!/bin/bash
for x in `ls */.*/.*`
cat $x|do echo $x
while read line
do
c=`echo $line|awk -F'(' '{print $1}'`
#echo $c
i=$((i+$c))
done
echo
done
echo $i
以上代碼有什么問題呢?
cat之后的管道會使i的值沒有被加1。
正確的方法:
復(fù)制代碼 代碼如下:
#!/bin/bash
for x in `ls */.*/.*`
do echo $x
while read line
do
c=`echo $line|awk -F'(' '{print $1}'`
#echo $c
i=$((i+$c))
done<$x
echo
done
echo $i
相關(guān)文章
用shell腳本和c語言將大寫字母轉(zhuǎn)成小寫的代碼
最近在學(xué)shell編程,在網(wǎng)上看到tr '[:upper:]' '[:lower:]' 可以把字符串中大寫字母轉(zhuǎn)換成小寫字母,我就在這個的基礎(chǔ)上寫了一個腳本來自己學(xué)習(xí)學(xué)習(xí)2013-08-08shell腳本實現(xiàn)拷貝大文件顯示百分比的代碼分享
這篇文章主要介紹了shell腳本實現(xiàn)拷貝大文件顯示百分比的代碼分享,需要的朋友可以參考下2014-08-08linux shell數(shù)據(jù)重定向(輸入重定向與輸出重定向)詳細(xì)分析
這篇文章主要介紹了linux shell數(shù)據(jù)重定向(輸入重定向與輸出重定向)詳細(xì)分析,需要的朋友可以參考下2015-10-10