【发布时间】:2015-01-23 17:24:44
【问题描述】:
我正在自学命令行代码,似乎找不到答案。
我正在使用标准的 MacOS 终端应用程序来创建目录/文件以供练习。
我的问题是,我可以使用代码来包含在创建文件时将写入文件的内容吗?
我试过了:
touch one/texttest.txt echo "Hello"
但这只会在“one”文件夹中创建 3 个文件,一个名为 hello,一个名为 echo,第三个名为 texttest.txt
我也尝试过这些并得到了相同的结果:
touch echo "Hello" ~/one/texttest.txt
echo Hello ~/one/texttest.txt
touch one/texttest.txt Hello
我似乎找不到任何适用于具有 0 个插件的标准终端应用程序的解决方案,这甚至可能吗?
【问题讨论】:
-
touch命令的目的是更新文件的修改时间戳;如果文件不存在,它恰好也会创建文件。但是,这不是在 shell 中创建新文件的唯一方法(甚至不是通常的方法)。下面 Danny 的解决方案显示了一种常用方法,即使用>redirection operator 将命令的输出(在本例中为echo)重定向到文件。 -
我明白了,在我重定向到它之前,该文件是否必须存在,或者我可以对一个不存在的文件使用重定向操作“>”并且它为我制作?编辑:刚刚回答了我自己的问题,谢谢!
-
如果文件不存在,它会创建一个文件。以下是 IO 重定向和其他可用运算符的概述:linuxcommand.org/lc3_lts0070.php
-
不确定我是否称其为“很棒的概述”,但它肯定是对一些基础知识的温和介绍。
标签: bash shell command-line terminal