bash - 在bash的for循环中多次编码变量
问题描述
我想将 var 编码 40 次为 base64 并需要第 35 个生成值的值。但似乎我对所有 40 种编码 (37) 都得到了相同的结果。谁能让我走上正确的道路?到目前为止我尝试了一切..
#!/bin/bash
# Variable to encode
var="nef892na9s1p9asn2aJs71nIsm"
counter=0
for counter in {1..40}
do
encode=$(echo $var | base64)
((counter++))
if [[ "$counter" == 35 ]]; then
echo $encode | wc -c
fi
done
解决方案
您正在使用var
每个循环。
encode=$(echo $var | base64)
var
总是一样的,你永远不会改变它。encode
例如,使用。
encode=$var
for ....
encode=$(echo "$encode" | base64)
使用 shellcheck.net 检查您的脚本。
推荐阅读
- c# - 无法在 sharepoint C# 代码中上传文件
- scheme - 在元循环评估器中添加基元
- javascript - 制表符和 dat.GUI 在一起
- r - 无法为 rga.open R 脚本创建 Docker 映像
- api - 找不到可以按受欢迎程度排序并按类型搜索的书籍 Api
- html - 引导卡片 - 卡片中的文字
- android - 如何使用 Google Drive API 上传视频
- r - 具有不同类别的响应变量的 R 图
- java - 如何从 Java 程序运行 Linux 命令“netstat”?
- node.js - 在 Heroku 应用程序中以 express 形式提供静态文件