shell根据配置文件调用不同程序
来源:互联网 发布:淘宝代销商如何刷销量 编辑:程序博客网 时间:2024/06/05 02:50
如run scala启动配置文件中定义好的scala路径中的scala
run源码
#!/bin/bashset -o nounset set -o errexitbasedir=$(dirname $0)declare -a argsfor((i=0;i<=$#;i++))do eval args[${i}]=\"\${${i}}\"donefunction main(){ getProperties "${basedir}/../conf/run.conf" keys values #get config example : value=$(findValue key keys values) # add code here echo to findvalue ${args[1]} in ${keys[@]} >&2 echo the values is ${values[@]} >&2 program=$(findValue ${args[1]} keys values) shift shift echo to run ${program} "$@" >&2 ${program} "$@"}function getProperties(){ localfilename="$1" localkeys="$2" localvalues="$3" unset ${localkeys} unset ${localvalues} locali=0 if [[ -f "${localfilename}" ]]; then while read line do if [[ "${line:0:1}" != "[" ]]; then localkey=${line%%=*} localvalue=${line#*=} if [[ "${localkey}" != "" ]]; then eval ${localkeys}[${locali}]=\"${localkey}\" eval ${localvalues}[${locali}]=\"${localvalue}\" let locali=${locali}+1 fi fi done < "${localfilename}" fi}function findValue(){ localkey="$1" eval localkeys=(\"\${$2[@]}\") eval localvalues=(\"\${$3[@]}\") for((locali=0; locali<${#localkeys[@]}; locali++)) do if [[ "${localkey}" == "${localkeys[${locali}]}" ]]; then localvalue="${localvalues[${locali}]}" break fi done echo ${localvalue}}
main "${args[@]}"
run.conf配置例:
scala=/sysdir/scala-2.10.3/bin/scala
scalac=/sysdir/scala-2.10.3/bin/scalac
spark-shell=/sysdir/spark-0.9.1-bin-hadoop2/bin/spark-shell
shark=/sysdir/shark-0.9/bin/shark
hive=/sysdir/hive-0.11/bin/hive
0 0
- shell根据配置文件调用不同程序
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- 根据不同环境读取不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- maven 根据环境打包不同配置文件
- Maven根据不同的环境打包配置文件
- 一个通过不同的文件扩展名来调用不同的解压程序的shell脚本
- shell编程,根据文件名找出不同文件
- Maven根据不同个环境打包, 获取不同的配置文件
- Spring MVC 根据不同环境加载不同的配置文件
- Maven根据不同个环境打包, 获取不同的配置文件
- maven根据不同的运行环境,打包不同的配置文件
- 根据时间自动调用不同css
- php根据时间调用不同商务通js
- CocoStudio图片资源加密
- JavaScript总结
- Tomcat将控制台信息记录到日志文件中
- fullcalendar简单问题解决方案
- DTW
- shell根据配置文件调用不同程序
- 键盘挡住了输入框的解决方法
- Lucene整理--索引的搜索
- ubuntu su认证失败
- 不允许启动新事务
- ASP使用ASPupload组件上传多个文件
- ER-Studio的五种关系说明
- uva1431 - Cryptography Reloaded 大数
- Ehcache详细解读