我需要将多行 bash 代码粘贴到终端中,但是每当我这样做时,每行在粘贴后都会作为单独的命令运行。
原文由 Nathan 发布,翻译遵循 CC BY-SA 4.0 许可协议
我真的很惊讶这里没有提供这个答案,我正在寻找这个问题的解决方案,我认为这是最简单的方法,而且更灵活/更宽容……
如果您想将网站/文本编辑器/等中的多行粘贴到 bash 中,无论是每行命令还是函数还是整个脚本…只需以 (
开头,然后以 )
结尾并输入,如下例所示:
如果我有以下 blob
function hello {
echo Hello!
}
hello
您可以通过以下方式使用 bash 在终端中粘贴和验证:
以 (
粘贴您的文本,然后按 Enter (使其漂亮)…或不
以 )
结尾并按 Enter
例子:
imac:~ home$ ( function hello {
> echo Hello!
> }
> hello
> )
Hello!
imac:~ home$
粘贴的文本会自动继续,每行都在前面加上 >
。我已经用每行、函数和整个脚本的命令测试了多行。希望这可以帮助其他人节省一些时间!
原文由 TryTryAgain 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答784 阅读✓ 已解决
2 回答3.2k 阅读
在复制之前尝试将
\
放在每行的末尾。例子:
退出代码 (
$?
) 现在是完整的命令序列,而不仅仅是最后一个命令。