Я пытаюсь получить bash-скрипт, который генерирует JSDoc для заданных параметров, например
./jsdoc.sh file.js another.js maybe-a-third.js
Я застреваю, как передать неизвестное количество параметров следующей команде оболочки.
(также не знаю, как проверить, существует ли param, только если нет 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