【问题标题】:Why touch - doesn't return any error and yet is not creating the file -?为什么触摸 - 不返回任何错误但没有创建文件 - ?
【发布时间】:2020-03-21 20:50:02
【问题描述】:

我想通过touch命令创建一个名为“-”的文件。

touch -

我预计会出现错误或创建文件,但没有错误也没有创建文件。

另外,如何创建名为“-”的文件。有没有可能?

【问题讨论】:

  • 你也可以> -不使用触摸创建文件。

标签: linux gnu-coreutils


【解决方案1】:

man touch 中所述:

- 的 FILE 参数字符串经过特殊处理,并导致 touch 更改与标准输出关联的文件的时间。

要创建该名称的文件,请使用更长的路径,例如:

touch ./-

要查看差异,请尝试

( echo a ; sleep 2; ) > file ; date ; stat file

( echo a ; sleep 2; touch - ) > file ; date ; stat file

在第一种情况下,修改时间会比实际时间早 2 秒。在第二种情况下,它将与它几乎相同。

【讨论】:

  • 有趣,我今天学到了新东西。这有什么常见的用例?
  • 但是它不会以错误状态退出这一事实有点误导
猜你喜欢
  • 1970-01-01
  • 2019-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
相关资源
最近更新 更多