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

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日

悬赏问题

  • ¥20 求用stm32f103c6t6在lcd1206上显示Door is open和password:
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类