小编Arq*_*wer的帖子

运行长命令列表并在出现问题时显示消息的便捷方法是什么?

大多数 Linux 指南由“你需要运行command_1,然后command_2,然后command_3”等页面组成。由于我不想浪费时间手动运行所有这些,我宁愿创建一个脚本

command_1
command_2
command_3
Run Code Online (Sandbox Code Playgroud)

并运行一次。但是,通常情况下,某些命令会失败,而我不知道哪些命令失败了。此外,如果早些时候出现故障,通常所有其余命令都没有意义。所以一个更好的脚本应该是这样的

command_1
command_2
command_3
Run Code Online (Sandbox Code Playgroud)

但是它需要编写太多的样板代码,每个命令重复 3 次,而且很有可能我错误地输入了一些大括号。有没有更方便的方法来做最后一个脚本的作用?特别是:

  • 按顺序运行命令
  • 如果任何命令失败则中断
  • 写,哪个命令失败了,如果有的话
  • 允许与命令的正常交互:打印所有输出,并允许从键盘输入,如果命令有任何要求。

答案摘要(2020 年 1 月 2 日)

有两种类型的解决方案:

  • 那些允许从指南复制粘贴命令而无需修改,但它们最终不会打印失败的命令。因此,如果失败的命令产生了很长的输出,您将不得不向上滚动很多行,以查看失败的命令。(所有最佳答案)
  • 那些在最后一行打印失败的命令,但要求您在复制粘贴后修改命令,通过添加引号(John 的回答),或通过添加try语句并将链接的命令拆分为单独的命令(Jasen 的回答) .

你们这些摇滚乐手,但我会暂时搁置这个问题。也许有人知道满足这两种需求的解决方案(在最后一行打印失败的命令并允许复制粘贴命令而不进行修改)。

shell bash

33
推荐指数
4
解决办法
5187
查看次数

标签 统计

bash ×1

shell ×1