如何将多行 bash 代码粘贴到终端并一次运行?

新手上路,请多包涵

我需要将多行 bash 代码粘贴到终端中,但是每当我这样做时,每行在粘贴后都会作为单独的命令运行。

原文由 Nathan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

在复制之前尝试将 \ 放在每行的末尾。

例子:

 echo "Hello world" && \
script_b.sh

echo $?

退出代码 ( $? ) 现在是完整的命令序列,而不仅仅是最后一个命令。

原文由 opsguy 发布,翻译遵循 CC BY-SA 4.0 许可协议

我真的很惊讶这里没有提供这个答案,我正在寻找这个问题的解决方案,我认为这是最简单的方法,而且更灵活/更宽容……

如果您想将网站/文本编辑器/等中的多行粘贴到 bash 中,无论是每行命令还是函数还是整个脚本…只需以 ( 开头,然后以 ) 结尾并输入,如下例所示:

如果我有以下 blob

 function hello {
    echo Hello!
}
hello

您可以通过以下方式使用 bash 在终端中粘贴和验证:

  1. (

  2. 粘贴您的文本,然后按 Enter (使其漂亮)…或不

  3. ) 结尾并按 Enter

例子:

 imac:~ home$ ( function hello {
>     echo Hello!
> }
> hello
> )
Hello!
imac:~ home$

粘贴的文本会自动继续,每行都在前面加上 > 。我已经用每行、函数和整个脚本的命令测试了多行。希望这可以帮助其他人节省一些时间!

原文由 TryTryAgain 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题