string - 在触摸字符串中转义感叹号
问题描述
每次我下载 youtube 文件(例如abc.mp4
)时,我都会立即通过在 bash 终端中手动执行以下命令来更改其日期/时间戳touch -d "$(date)" "abc.mp4"
:
这可以正常工作,除非文件具有嵌入的感叹号(例如ab!c.mp4
)。然后,以下命令出现故障:touch -d "$(date)" "ab!c.mp4"
.
实验一下,我试过了::touch -d "$(date)" "ab\!c.mp4"
不高兴, touch命令创建了一个新的空文件,名称为ab\!c.mp4
.
我的kludgy解决方案是手动重命名 youtube 文件,从其名称中删除感叹号,然后执行touch
命令。
有没有更优雅的方法可以让感叹号保留在文件名中?
解决方案
尝试set +H
在您的touch
命令之前调用或仅使用单引号:touch -d "$(date)" 'ab!c.mp4'
.
推荐阅读
- css - 为什么 IE 和 Edge 会忽略整个 CSS 规则?
- java - PKIX 路径构建失败。我们应该导入证书吗?
- marklogic - 限制 cts:search 设置 xml 元素的数量
- python - 部署应用程序时使用 buildpack 中的 json.load() 出现 TypeError
- kubernetes - 使用 Consul 存储 kubernetes 容器的环境变量
- css - 如何让 IE 11 为伪元素应用 CSS 更改,Chrome/FF 应用正常?
- python - 在 csvFile 中写入新行
- assembly - 如何将 SREC 摩托罗拉格式 (.s19) 文件转换为十六进制文件?
- uikit - 动态大小、启用滚动的 UITextView 的自动布局问题
- c++ - 您如何注册相互依赖的 Qt QML Singleton?