【发布时间】:2012-02-24 17:28:25
【问题描述】:
我想通过 cat 命令写入文件。
cat $variable >t.h
当它没有写入文件时。 反正文件是空的。 为什么 cat 不写入文件?
【问题讨论】:
-
如果你忽略了
>t.h,你会看到输出吗?
我想通过 cat 命令写入文件。
cat $variable >t.h
当它没有写入文件时。 反正文件是空的。 为什么 cat 不写入文件?
【问题讨论】:
>t.h,你会看到输出吗?
cat 本身不写入文件,只写入标准输出。 shell 重定向 > 进行写入。
您的语句的问题是cat 将文件名列表作为参数,因此cat $variable 将尝试打印名称存储在$variable 中的文件的内容,该文件很可能不存在。
要将变量的内容写入文件,请使用echo $variable >t.h
【讨论】:
cat 有一种“hackish”的方法,但 OP 给出了正确的答案。 cat <<<$variable >t.h