如何从命令行使用 nano 将文本输入到新的文本文件中?
我希望与以下内容相同,但使用纳米:
echo 'Hello, world.' >foo.txt
结果:
- nano 无法处理非交互式文本输入。
- 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
- 打开纳米:
nano
写下您的文字:“你好,世界”
按
Ctrl+O
(保存文件)它会询问要写入的文件名,输入它。
退出
Ctrl+X
答案3
nano foo.txt
按Hello, world.^O^X
,按钮^
在哪里ctrl
。^O
伊斯兰Write
国。^X
Exit