在 ubuntu 终端中编辑文本文件时出现新行?

在 ubuntu 终端中编辑文本文件时出现新行?

我知道要表示新行,我会执行 echo -e "line 1 \nline 2" > text.txt。我发现反复使用 \n 会很烦人,我想知道是否有办法在终端中实际向下一行而不执行命令。比如,如果我要在终端中编辑 python,我可以写

def main():
    print "hello world"

按“Enter”键转到新行不会执行 def main(): ,它只会转到新行。普通终端中是否有类似的东西?

答案1

如果您只想像示例中那样回显文本,则只需使用 Enter 键代替即可\n,如下所示:

echo "line 1
line 2" > text.txt

为了使其工作,您必须用""或 包围您的文本(如图所示)''

如果您想要输入一系列命令而不在完成之前执行它们,那么您可以以 开始该序列{并以 结束它},如下所示:

{
echo line 1
echo line 2
date
}

您还可以通过在结尾处使用重定向来重定向整个序列的输出},如下所示

{
echo line 1
echo line 2
date
} > text.txt

答案2

除了不匹配的引号之外,您还可以使用异端

$ python <<EOF
> def main():
>       print "Hello"
> 
> main()
> EOF
Hello
$

请注意,这EOF只是一个常见且方便的描绘器,任何标记都可以。

相关内容