如何在命令中存储和扩展变量?

如何在命令中存储和扩展变量?

我正在尝试获取 a 的大小S3文件夹并将其存储在流入数据库

下面是我的代码

#!/bin/bash -x
FILESIZE=$(mktemp)
 s3cmd du -r "s3://path1/path2/" | awk '{print $1}' >> "$FILESIZE"
cat "$FILESIZE"

echo curl -i -XPOST "http://localhost:8086/write?db=S3check&precision=s" --data-binary "ecmwftrack,bucketpath=ecmwf-archive/daily size='$FILESIZE'"

下面是我的输出 在此输入图像描述

$FILESIZE 的输出46473946436

但是当我使用$文件大小在一个卷曲命令我没有得到值... FILESIZE 作为输出出现...

如何使 $FILESIZE 的值出现在输出中

答案1

您需要发送数据,您可以尝试以下操作吗?

#!/bin/bash -x
FILESIZE=$(mktemp)
 s3cmd du -r "s3://path1/path2/" | awk '{print $1}' >> "$FILESIZE"
cat "$FILESIZE"

echo curl -i -XPOST "http://localhost:8086/write?db=S3check&precision=s" --data-binary "ecmwftrack,bucketpath=ecmwf-archive/daily size=$(cat $FILESIZE)"

相关内容