我知道要表示新行,我会执行 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
只是一个常见且方便的描绘器,任何标记都可以。