[英]bash wont assign variables
我无法让我的bash脚本在循环中分配变量:
#!/bin/bash
usercount=0
for word in userfile
do
let usercount=$usercount+1
done
echo $usercount
usercount的输出始终为0.这有什么问题?
你需要while loop
来line 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.