如何保留$ @并仍使用shift

时间:2015-12-08 08:44:28

标签: bash shell

我想在父脚本中获取少量命令行选项,并将原始参数传递给子脚本。我尝试了下面的脚本,并且转换似乎清空$ @。这里需要一些帮助。

while [[ $# > 0 ]] ; do
    case $1 in
        abc)
            var=$2; shift;
        ;;
        def)
            foo=$2; shift;
        ;;
        *)
    esac
    shift
done
echo "> empty: $@" 
source another.sh "$@"


~/:$ bash x.sh abc ddef def ghi abc hij def abc

1 个答案:

答案 0 :(得分:1)

在另一个中复制数组$ @并使用另一个:How to copy an array in Bash?
用它来复制特殊数组$ @:s=( "$@" )