运行 bash 脚本并在错误中产生很好的结果

Posted

技术标签:

【中文标题】运行 bash 脚本并在错误中产生很好的结果【英文标题】:run bash script with nice results in error 【发布时间】:2017-08-18 23:07:18 【问题描述】:

我有一个相当长的 bash 脚本。我想很好地运行它

不错的./test1.scr

如果我不以 nice 运行脚本,它会很好用。但是当我很好地运行它时。在我的脚本中运行的命令失败。

commandout=()
while IFS= read -r line # Read a line
do
    commandout+=("$line") # Append line to the array
done < <(tmsh show ltm pool $pool detail | grep -A5 "Ltm::Pool")
commandout+=(" ")

如果我用 nice 运行脚本会出现以下错误

./test1.scr: line 269: syntax error near unexpected token `<'
./test1.scr: line 269: `                        done < <(tmsh show ltm pool $pool detail | grep -A5 "Ltm::Pool")'

如果我没有很好地运行脚本,一切正常。

我想完善整个脚本,以便在运行时减少对其他进程的影响

【问题讨论】:

.scr 文件是否以#!/bin/bash 开头?否则nice 可能会使用sh 启动它。在许多版本的 Linux 上,sh 实际上是dash,它并不知道bash 知道的所有技巧。 您可能想改用readarray -t commandout &lt; &lt;(tush show ltm pool "$pool" detail | grep -A5 "Ltm::Pool") 【参考方案1】:

您没有发布为答案,因此我无法将其标记为答案。但是天哪,我真是太傻了。

脚本以#/bin/bash 开头,而不是修复它的#!/bin/bash

【讨论】:

以上是关于运行 bash 脚本并在错误中产生很好的结果的主要内容,如果未能解决你的问题,请参考以下文章

在 nxlog 的日志中发现错误时运行 bash 脚本

在 bash 脚本中运行 php:错误“无法打开输入文件”

如何通过bash脚本检测ant / maven的构建错误?

尝试运行第二个命令时,在 bash 脚本中运行 AWS 服务会产生错误,我做错了吗?

大数据学习第四天

如何编写一个运行程序的 bash 脚本,直到它检测到信号 SIGSEGV、分段错误?