bash 循環(huán)中變量作用范圍的問(wèn)題分析
更新時(shí)間:2013年01月29日 17:40:34 作者:
大家在bash編寫(xiě)中,經(jīng)常需要用到循環(huán),但循環(huán)中變量作用范圍的問(wèn)題有些朋友不是很懂,這里簡(jiǎn)單分享下,方便需要的朋友
先來(lái)看一段錯(cuò)誤的代碼。
復(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
以上代碼有什么問(wèn)題呢?
cat之后的管道會(huì)使i的值沒(mé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語(yǔ)言將大寫(xiě)字母轉(zhuǎn)成小寫(xiě)的代碼
最近在學(xué)shell編程,在網(wǎng)上看到tr '[:upper:]' '[:lower:]' 可以把字符串中大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母,我就在這個(gè)的基礎(chǔ)上寫(xiě)了一個(gè)腳本來(lái)自己學(xué)習(xí)學(xué)習(xí)2013-08-08shell腳本實(shí)現(xiàn)拷貝大文件顯示百分比的代碼分享
這篇文章主要介紹了shell腳本實(shí)現(xiàn)拷貝大文件顯示百分比的代碼分享,需要的朋友可以參考下2014-08-08linux shell數(shù)據(jù)重定向(輸入重定向與輸出重定向)詳細(xì)分析
這篇文章主要介紹了linux shell數(shù)據(jù)重定向(輸入重定向與輸出重定向)詳細(xì)分析,需要的朋友可以參考下2015-10-10Linux 刪除文件夾和文件的命令(強(qiáng)制刪除包括非空文件)
linux刪除目錄很簡(jiǎn)單,很多人還是習(xí)慣用rmdir,不過(guò)一旦目錄非空,就陷入深深的苦惱之中,現(xiàn)在使用rm -rf命令即可。接下來(lái)通過(guò)本文給大家介紹Linux 刪除文件夾和文件的命令(強(qiáng)制刪除包括非空文件),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05