我需要一个简单的busybox sh包装器,它将执行以下操作:

IF "-Q" PARAMETER IS PROVIDED THEN
    acommand ALL PARAMETERS BUT "-Q" 2>&1 1>/dev/null
ELSE
    acommand ALL PARAMETERS
FI

参数可以包含空格。

顺便说一句,我想用busybox sh运行脚本,它不支持数组。

最佳答案

可以在busyboxash shell中完成所有操作:

#!/bin/sh
for i in "${@}"
do
    if [ "$i" = "-Q" ]
    then
        flagQ=1
    else
        args="$args \"$i\""
    fi
done
if [ "$flagQ" = "1" ]
then
    eval acommand "$args" 2>&1 1>/dev/null
else
    eval acommand "$args"
fi

10-05 23:03