加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在bash中组合timeout和eval命令

发布时间:2020-12-15 22:32:59 所属栏目:安全 来源:网络整理
导读:对于执行存储在变量中的命令,使用eval命令: └── a="echo -e 'anb' | wc -l"└── eval $a2 但它如何与超时命令结合?我试过以下哪个给了我错误的输出: └── timeout 10 $a'ab' | wc -l 以下给出了我的错误: └── timeout 10 "$a"timeout: failed
对于执行存储在变量中的命令,使用eval命令:

└──> a="echo -e 'anb' | wc -l"
└──> eval $a
2

但它如何与超时命令结合?我试过以下哪个给了我错误的输出:

└──> timeout 10 $a
'a
b' | wc -l

以下给出了我的错误:

└──> timeout 10 "$a"
timeout: failed to run command `echo -e 'anb' | wc -l': No such file or directory

└──> timeout 10 $(eval $a)
timeout: failed to run command `2': No such file or directory

└──> timeout 10 $(eval "$a")
timeout: failed to run command `2': No such file or directory

问题还可以解决:我怎样才能确定以下命令是否正确执行?

timeout 10 "$PROGRAM" "$OPT1" "$OPT2" ...

解决方法

这会奏效

if timeout "$PROGRAM" "$OPT1" "$OPT2" ... ; then
    echo Program ran successfully
else
    echo Program terminated due to timeout
fi

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读