linux shell将可变参数附加到命令中
发布时间:2020-05-28 14:42:46 所属栏目:Linux 来源:互联网
导读:我试图获得一个生成JSDoc的bash脚本,以给出这样的给定参数 ./jsdoc.sh file.js another.js maybe-a-third.js 我被困在如何将未知数量的参数传递给下一个shell命令. (也不知道如何检查param是否存在,只有当[-z …]) 这段代码最多可以使用两个参数,但显然不是正
|
我试图获得一个生成JSDoc的bash脚本,以给出这样的给定参数 ./jsdoc.sh file.js another.js maybe-a-third.js 我被困在如何将未知数量的参数传递给下一个shell命令. (也不知道如何检查param是否存在,只有当[-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
解决方法$*具有所有参数.你可以迭代他们for i in $*;
do
params=" $params $d/$i"
done
your_cmd $params (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – 为什么这么多应用程序在不使用任何虚拟内存的情况
- linux – 我需要一个TCP选项(ioctl)来立即发送数据
- linux – 限制SSH登录失败
- linuxmint – Linux Mint 17.1 Cinnamon 2.4鼠标光标在屏幕
- linux – 如何在文件名最大的每个目录中查找文件?
- 在Redhat Linux上安装Mercurial
- Linux上的ARM体系结构的任何Web和Java IDE?
- linux – 什么是NTP色散,我该如何控制它?
- nginx反向代理转发apache配置 之 cookie去哪儿了?
- redhat – 在NTP中禁用tinker panic 0有什么缺点?
