亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 5055 | 回復(fù): 10
打印 上一主題 下一主題

請教大家一個非常簡單的關(guān)于計(jì)數(shù)器的問題。 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2004-08-12 11:54 |只看該作者 |倒序?yàn)g覽
如題,現(xiàn)在是這樣,我想從一個文本文件中讀出N行的數(shù)據(jù),然后執(zhí)行rm刪除相應(yīng)的文件,可是如果只執(zhí)行的話我看不到執(zhí)行時(shí)的效果,因此想在循環(huán)中加一個計(jì)數(shù)器來時(shí)時(shí)的打出來執(zhí)行了多少行的操作,我的程序如下:

  1. x=0
  2. while read LINE
  3. do
  4.         find /www/htdocs/abc -type f -name $LINE -exec rm -f {} \;
  5.         x=$(($x+1))
  6.         echo "$x \n"
  7. done <$1
復(fù)制代碼

如果是以上這種代碼的話,執(zhí)行的時(shí)候會報(bào)錯,報(bào)錯信息是:
$sh rf.sh catalogue.txt
rf.sh: syntax error at line 5: `x=$' unexpected
說我有語法錯,可我不知道怎么解決,如果把程序改成這樣:

  1. x=0
  2. while read LINE
  3. do
  4.         find /www/htdocs/abc -type f -name $LINE -exec rm -f {} \;
  5.         x=$x+1
  6.         echo "$x \n"
  7. done <$1
復(fù)制代碼

則輸出的結(jié)果也不是我想要的,而是:
0+1

0+1+1

0+1+1+1

0+1+1+1+1

0+1+1+1+1+1

0+1+1+1+1+1+1

…… ……
會一直這樣的走下去。

我第一次寫Shell,請教高手這個問題怎么解決,謝謝。

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2004-08-12 12:24 |只看該作者

請教大家一個非常簡單的關(guān)于計(jì)數(shù)器的問題。

x=$(($x+1)) ----> ((x+=1))

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2004-08-12 13:07 |只看該作者

請教大家一個非常簡單的關(guān)于計(jì)數(shù)器的問題。

[quote]原帖由 "bjgirl"]x=$(($x+1)) ----> ((x+=1))[/quote 發(fā)表:

不行呀,這種方法我起先也試過,按照你的方法改了執(zhí)行后顯示為:
$sh rf.sh catalogue.txt
rf.sh: x+=1: not found
0
rf.sh: x+=1: not found
0
rf.sh: x+=1: not found
0
rf.sh: x+=1: not found
0
rf.sh: x+=1: not found
0
rf.sh: x+=1: not found
0
rf.sh: x+=1: not found
0

請指點(diǎn)。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2004-08-12 13:16 |只看該作者

請教大家一個非常簡單的關(guān)于計(jì)數(shù)器的問題。

bash/ksh都支持(())的操作,比如:

  1. $x=0
  2. $while((x<11));do echo ok;((x+=1));echo $x;done
  3. ok
  4. 1
  5. ok
  6. 2
  7. ok
  8. 3
  9. ok
  10. 4
  11. ok
  12. 5
  13. ok
  14. 6
  15. ok
  16. 7
  17. ok
  18. 8
  19. ok
  20. 9
  21. ok
  22. 10
  23. ok
  24. 11
復(fù)制代碼

是不是跟你用的shell有關(guān)

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2004-08-12 13:25 |只看該作者

請教大家一個非常簡單的關(guān)于計(jì)數(shù)器的問題。

呵呵,我用的就是bash,好,謝謝你了,我再想別的辦法吧。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2004-08-12 13:36 |只看該作者

請教大家一個非常簡單的關(guān)于計(jì)數(shù)器的問題。

換成 let x+=1

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2004-08-12 15:46 |只看該作者

請教大家一個非常簡單的關(guān)于計(jì)數(shù)器的問題。

(())是不是就是運(yùn)算呀?

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2004-08-12 17:32 |只看該作者

請教大家一個非常簡單的關(guān)于計(jì)數(shù)器的問題。

Mercury_cn 兄謝謝你的回答,可是照你說的也不成。
出現(xiàn):
rf.sh: let: not found
0
rf.sh: let: not found
0

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2004-08-12 18:10 |只看該作者

請教大家一個非常簡單的關(guān)于計(jì)數(shù)器的問題。

let是shell的內(nèi)建命令,如果連這個let都沒有的話,看來你的shell有問題!

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2004-08-12 18:44 |只看該作者

請教大家一個非常簡單的關(guān)于計(jì)數(shù)器的問題。

謝謝帥哥靚妹們的回答,環(huán)境不是我搭建的,而且我也不是Shell程序員,我只是想用這個來完成一件事,結(jié)果來惹來這么多是非,呵呵。
其實(shí)我想打印出來就是給自己一個標(biāo)識,讓自己能看到執(zhí)行程序的進(jìn)度,現(xiàn)在我不打數(shù)字了,我寫的是:rm $LINE,這樣也能看到進(jìn)度,我就是確認(rèn)程序別跑死就成,再次謝謝各位。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP