weixin_45580728 2022-11-03 15:04 采纳率: 14.3%
浏览 40
已结题

S3文件存在check异常(文件名有括号)

有个问题:
我的S3的文件名是这样的:
1002-02-20221103-契约处理(更新)_internet.pdf
1002-03-20221103-新建_network.pdf


单独执行sudo aws s3 ls path/文件名时因为提示括号错误,所以在文件名前后加了引号👇
sudo aws s3 ls path/'文件名'这样就能查到了。

现在的问题是在shell中check不正确。
首先在从psql的select抽数据到出力文件时做了加引号处理。出力文件中的内容是
S3://s3-abc-sys-efgh/Pgm/20221103/'1002-02-20221103-契约处理(更新)_internet.pdf'
(文件第一位有个空格,不过已经处理掉了,后面打印出来的post_data的值里也没有空格了是正确的)

然后下面处理前我想判定一下这个文件是否还在S3上存在。但是明明不存在它却也走了存在处理的逻辑。也试了试如果不要''的话,就可以正确判定。这可怎么办呢?
sudo aws s3 ls ${post_data} >/dev/null
if [ -z "${?}" ]; then
echo "s3文件不存在”
else
echo “s3文件存在”
fi

※post_data的值也打出来了是正确的:
[S3://s3-abc-sys-efgh/Pgm/20221103/'1002-02-20221103-契约处理(更新)_internet.pdf']

  • 写回答

3条回答 默认 最新

  • 「已注销」 2022-11-03 15:12
    关注

    可以给我说一下你这个项目内容吗?

    评论

报告相同问题?

问题事件

  • 系统已结题 11月11日
  • 创建了问题 11月3日