我是自学的命令行代码,似乎无法找到答案。
我正在使用标准的MacOS终端应用程序来创建用于练习的目录/文件。
我的问题是,我可以使用代码来包含在创建文件时写入文件的内容吗?
我试过了:
touch one/texttest.txt echo "Hello"
但这只会创建3个文件,一个名为hello,一个名为echo,另一个名为texttest.txt,位于“one”文件夹中
我也试过这些并得到了相同的结果:
touch echo "Hello" ~/one/texttest.txt
echo Hello ~/one/texttest.txt
touch one/texttest.txt Hello
我似乎无法为带有0个插件的标准终端应用找到任何解决方案,这是否可能?
答案 0 :(得分:2)
这应该有效:
echo "Hello" > one/texttest.txt
答案 1 :(得分:1)
touch one/texttest.txt echo "Hello"
这是带有三个参数的touch
命令:one/texttest.txt
,echo
和Hello
(shell删除了引号)。
touch echo "Hello" ~/one/texttest.txt
touch one/texttest.txt Hello
这些与第一个相同(不同的论点,但概念相同)。
echo Hello ~/one/texttest.txt
这是带有两个参数的echo
命令:Hello
和~/one/texttest.txt
(只有~
会在{{1}之前扩展到您的主目录看到了它。)
echo
仅创建不会写内容的文件(并更新时间戳)。
您可以使用touch
命令获取内容,但我不知道其中的内容。
幸运的是,你不需要一个,因为shell可以为你做到这一点。
您使用touch
来运行echo Hello
并让它吐出echo
,并告诉shell"重定向"文本到文件而不是屏幕。
Hello
值得指出的是,无论你是否写入任何内容,重定向都会创建文件(事实上,无论命令是否有效,甚至是否存在命令)。
echo Hello > texttest.txt
因此,您可以单独使用$ ls /tmp/texttest.txt
ls: /tmp/texttest.txt: No such file or directory
$ flekjfe Hello > /tmp/texttest.txt
$ ls /tmp/texttest.txt
/tmp/texttest.txt
来创建一个新的空文件。
答案 2 :(得分:0)
您可以使用输出重定向command_output>文件