【发布时间】:2019-02-28 13:14:30
【问题描述】:
我正在做一个关于 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
现在我遇到的问题是,在一次成功提取后,它会计算字符数,将它们输出到文件中,然后完成循环并退出程序。如果我专门删除“wc -m”位,代码运行得非常好。
问:这应该发生吗,我应该如何解决这个问题以实现我的目标?还是我在其他地方犯了错误?
【问题讨论】: