【问题标题】:cat is not writing to a file?cat 没有写入文件?
【发布时间】:2012-02-24 17:28:25
【问题描述】:

我想通过 cat 命令写入文件。

cat $variable >t.h

当它没有写入文件时。 反正文件是空的。 为什么 cat 不写入文件?

【问题讨论】:

  • 如果你忽略了>t.h,你会看到输出吗?

标签: bash shell cat


【解决方案1】:

cat 本身不写入文件,只写入标准输出。 shell 重定向 > 进行写入。

您的语句的问题是cat 将文件名列表作为参数,因此cat $variable 将尝试打印名称存储在$variable 中的文件的内容,该文件很可能不存在。

要将变量的内容写入文件,请使用echo $variable >t.h

【讨论】:

  • 虽然 echo 起作用了,请您详细说明为什么 cat 不起作用而 echo 起作用
  • @user1065734 cat 读取文件或标准输入。如果您提供一个参数,它会假定该参数是一个文件名,它会尝试读取该文件名。这不是你想要的。您只是试图将变量的内容打印到文件中。使用cat 有一种“hackish”的方法,但 OP 给出了正确的答案。 cat <<<$variable >t.h
猜你喜欢
  • 1970-01-01
  • 2021-11-03
  • 1970-01-01
  • 1970-01-01
  • 2016-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多