このような特定のパラメーターに対してJSDocを生成するbashスクリプトを取得しようとしています
./jsdoc.sh file.js another.js maybe-a-third.js
次のシェル コマンドに不明な数のパラメータを渡す方法に行き詰まっています。
(また、 param が存在するかどうかを確認する方法がわからない、ない場合のみ exitst if [ -z ... ]
)
このコードは最大 2 つのパラメーターに対して機能しますが、明らかに正しい方法ではありません...
#!/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