坑爹的回车

发布于 2023-02-05 00:16:54 字数 735 浏览 86 评论 0

今天尝试自己写脚本调用网易翻译 API 进行翻译,结果被 echo 命令产生的回车符害惨了。比如,要判断一个字符串的长度,我想当然的写成了

function len()
{
    echo "$*"|wc -c
}

但是这个产生的结果其实会比实际的长度多1个,就是 echo 命令产生的回车符:

len '123'
4

正确的实现是用 echo 的 -n 选项禁止产生最后的回车

function len()
{
    echo -n "$*"|wc -c
}
len '123'
3

当然,就取长度来说,最好的方法是直接使用 ${#param} 来获取

function len()
{
    local word="$*"
    echo "${#word}"
}
len '123'
3

类似的,用 sha256sum 进行签名时,也犯了这个错误

echo '123' |sha256sum
echo -n '123' |sha256sum
181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b  -
a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3  -

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

文章
评论
27 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文