【问题标题】:How to use \ with the read command? [duplicate]如何将 \ 与 read 命令一起使用? [复制]
【发布时间】:2021-08-16 01:35:37
【问题描述】:

我是该主题的完全初学者,我通常会寻找解决方案,而不是仅仅提出问题,因为我确信有人遇到过类似的问题。但这一次我找不到解决问题的方法。
所以我写了一个小 shell 脚本,它使用 rclone 将文件从变量文件夹复制到我的 Google Drive。
我的问题是如果包含多个单词,我无法输入文件夹名称。我已经尝试使用 read -r folder 但它返回

Command copy needs 2 arguments maximum: you provided 3 non flag arguments: ["One" "Folder/" "Drive:SomeFolder/File"]

如果我使用\,它会返回

Command copy needs 2 arguments maximum: you provided 3 non flag arguments: ["One\\" "Folder/" "Drive:SomeFolder/File"]

我希望最终命令看起来像这样

rclone copy One\Folder/ Drive:SomeFolder/File
#!bin/sh
#upload

echo "Folder Name:"
read -r folder
echo "File Name:"
read -r name
rclone copy ${folder}/ Drive:SomeFolder/${name} 

【问题讨论】:

  • help read(在较新的 bashes 中),将向您显示 -r for raw ; “不允许反斜杠转义任何字符”。我不确定这就是您要查找的内容,因此请查看列出的其他选项。祝你好运。
  • 问题在于您调用rclone 的方式,而不是您读取变量的方式。您需要引用变量扩展。 ShellCheck 自动检测此问题和其他常见问题。
  • @thatotherguy 非常感谢!我将把这个网站打印在一张纸上,贴在墙上。
  • 顺便说一句,我如何将此问题设置为已回答?
  • 大多数编辑器也有此工具的插件,以便您在编写脚本时获得相同的建议。

标签: linux shell rclone


【解决方案1】:

问题在于您调用 rclone 的方式,而不是您阅读 变量。您需要引用变量扩展。壳牌检查 自动检测此问题和其他常见问题。 ——那个人

【讨论】:

  • 需要等待2天...
猜你喜欢
  • 1970-01-01
  • 2019-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-26
  • 2020-10-03
  • 1970-01-01
相关资源
最近更新 更多