оболочка linux добавляет параметры переменных в команду

Я пытаюсь получить сценарий bash, который генерирует JSDoc для заданных параметров, подобных этому

./jsdoc.sh file.js another.js maybe-a-third.js

Я застрял в том, как передать неизвестное количество параметров следующей команде оболочки.

(также не знаю, как проверить, существует ли параметр, только если не exitst if [-z. ..] )

Этот код работает максимум с двумя параметрами, но очевидно, что это не правильный путь ...

#!/bin/bash

# would like to know how to do positive check
if [ -z "$1" ]
then echo no param
else
        d=$PWD
        cd ~/projects/jsdoc-toolkit/

        # this bit is obviously not the right approach
        if [ -z "$2" ]
        then java -jar jsrun.jar app/run.js -a -t=templates/jsdoc/ $d/$1
        else java -jar jsrun.jar app/run.js -a -t=templates/jsdoc/ $d/$1 $d/$2
        fi

        cp -R out/jsdoc $d
fi

Любые другие указатели того, как я мог бы этого достичь, были бы признательны.

Изменить: обновлен скрипт в соответствии с ответом @skjaidev - счастливые дни;)

#!/bin/bash

d=$PWD

for i in $*; do
    params=" $params $d/$i"
done

if [ -n "$1" ]; then
        cd ~/projects/jsdoc-toolkit/
        java -jar jsrun.jar app/run.js -a -t=templates/jsdoc/ $params
        cp -R out/jsdoc $d
fi
15
задан Billy Moon 5 August 2011 в 22:02
поделиться