小编Art*_*man的帖子

wc -m似乎在bash中循环时停止

我正在UNIX上做一个入门课程 - 其中一部分是bash脚本.我似乎已经理解了这些概念,但在这个特殊的问题上我无法解决这个问题.

我有一个txt文件,包含1列随机用户名.然后将该txt文件用作我的bash脚本的参数,理想情况下使用用户名来获取页面并计算该页面上的字符数.如果页面成功获取,则随后将字符计数与用户名一起保存在不同的txt文件中.

这是一个代码:

#!/bin/bash
filename=$1

while read username; do
    curl -fs "http://example.website.domain/$username/index.html"
    if [ $? -eq 0 ]
    then
        x=$(wc -m)
        echo "$username $x" > output.txt
    else
        echo "The page doesn't exist"
    fi
done < $filename
Run Code Online (Sandbox Code Playgroud)

现在我遇到的问题是,在一次成功获取之后,它会对字符进行计数,将它们输出到文件中,然后完成循环并退出程序.如果我特意删除"wc -m"位,代码运行完全正常.

问:是否应该发生这种情况,我应该如何解决这个问题呢?或者我在其他地方犯了错误?

unix bash shell wc

0
推荐指数
1
解决办法
145
查看次数

标签 统计

bash ×1

shell ×1

unix ×1

wc ×1