小编use*_*614的帖子

如何访问 eval'd 命令的 bash PIPESTATUS 数组?

我有这个代码:

error(){
    time=$( date +"%T %F" )
    echo "Start : ${time} : ${1}" 1>&2

    result=$( eval "${1}" )
    if [ `echo "${PIPESTATUS[@]}" | tr -s ' ' + | bc` -ne 0 ]; then 
        echo "command ${1} return ERROR" 1>&2
        exit
    else
        if [ "${2}" != "silent" ]; then
          echo "${result}"
        fi
    fi
}
Run Code Online (Sandbox Code Playgroud)

我开始测试命令:

error "ifconfig | wc -l" "silent"
Start : 14:41:53 2014-02-19 : ifconfig | wc -l

error "ifconfiggg | wc -l" "silent"
Start : 14:43:13 2014-02-19 …
Run Code Online (Sandbox Code Playgroud)

bash

5
推荐指数
1
解决办法
1104
查看次数

标签 统计

bash ×1