如何从命令行使用 nano 将文本输入到新的文本文件中?

如何从命令行使用 nano 将文本输入到新的文本文件中?

如何从命令行使用 nano 将文本输入到新的文本文件中?

我希望与以下内容相同,但使用纳米:

echo 'Hello, world.' >foo.txt

结果:

  1. nano 无法处理非交互式文本输入。
  2. echo 在每个 Linux/Unix 系统中都可用,而 nano 并非在每个 Linux/Unix 系统中默认安装。 Echo 也可以在 shell 脚本中使用。

结论: 最兼容的解决方案是使用

echo 'Hello, world.' >foo.txt

作为创建文件并以非交互方式填充输入文本的解决方案。

答案1

您可以使用 a here document,但通过这种方式不可能提供特殊的输出文档。

$ cat | nano <<-EOF
one
two
three

EOF

Received SIGHUP or SIGTERM

Buffer written to nano.save

手册页的注释下提到了此行为

在某些情况下,nano 会尝试将缓冲区转储到紧急文件中。这主要发生在 nano 收到 SIGHUP 或 SIGTERM 或内存不足的情况下。如果缓冲区还没有名称,它将把缓冲区写入名为 nano.save 的文件中,或者向当前文件名添加“.save”后缀。如果当前目录中已存在具有该名称的紧急文件,它将在当前文件名中添加“.save”加一个数字(例如“.save.1”)以使其唯一。在多缓冲区模式下,nano 会将所有打开的缓冲区写入各自的紧急文件。

所以我认为 Nano 并不是非交互式短信的最佳选择。如果您只想将多行文本输入到文件中,您也可以使用here document不带 nano 的 a 。

cat > foo.txt <<-EOF
> one
> two
> three
> 
> EOF
cme@itp-nb-1-prod-01 ~ $ cat foo.txt 
one
two
three

也许这就是你所需要的。

答案2

  1. 打开纳米:

nano

  1. 写下您的文字:“你好,世界”

  2. Ctrl+O(保存文件)

  3. 它会询问要写入的文件名,输入它。

  4. 退出Ctrl+X

答案3

nano foo.txt

Hello, world.^O^X,按钮^在哪里ctrl^O伊斯兰Write国。^XExit

相关内容