Bash脚本 - "错误:命令未找到"?

时间:2016-05-08 16:44:54

标签: linux bash shell

我正在编写一个bash脚本,我正在使用for循环来检查我的论点。

for var in "$@"
do
    test_arg "$var"
done

这是我的test_arg函数

function test_arg {
    [ -n "$1" ] || err "Empty argument"
    [ -f "$1" ] || err "Argument '$1' is not a file"
    [ -r "$1" ] || err "Data file '$1' is not readable"
    [ -s "$1" ] || err "Data file '$1' is empty"
    egrep -v '^-?([0-9]+|[0-9]*\.[0-9]+)$' "$1" && { echo "Bad data format in '$1'"; exit 1; }
}

但是,当不满足任何这些条件时,脚本只写出" script.sh:第XX行:错误:未找到命令"。我对测试不太确定,我是一名打击者。

非常感谢您的回答

1 个答案:

答案 0 :(得分:2)

您的代码取决于名为err的函数。考虑如下定义它:

err() { echo "$*" >&2; exit 1; }