簡體   English   中英

bash不會分配變量

[英]bash wont assign variables

我無法讓我的bash腳本在循環中分配變量:

#!/bin/bash

usercount=0
for word in userfile
do
    let usercount=$usercount+1
done

echo $usercount

usercount的輸出始終為0.這有什么問題?

你需要while loopline by line讀取文件:

usercount=0
while read l; do
  let usercount=$usercount+1;
done < userfile

雖然只是計算線,你可以很好地做:

usercount=$(wc -l < userfile)

如果要計算文件中的行或單詞,請使用wc

話:

wc -w < file

行:

wc -l < file

大多數人通常使用雙括號進行shell算術:

usercount=0
for word in userfile groupfile elephants
do
    ((usercount++))
done

echo $usercount

該片段回應3 ,對應於三個單詞。 你也可以使用let ; 大多數人沒有。 但是,當我運行你的代碼時,它回應1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM