shell脚本传递带有空格的参数的解决方法

如下例子所示:

#!/bin/sh

dt=20180829

rdms_presql='select * from dm_general_stat where dimcode = "day" and dimvalue ='${dt}

java -Djava.ext.dirs=lib com.etl.Hive2RMDS \
--hive_url ${rdms_presql} 

想把一段sql作为参数传递给java程序的入口参数中,如果直接写的话,会从空格处自动切分开。

解决方法:将这个引用变量用双引号括起来

#!/bin/sh

dt=20180829

rdms_presql='select * from dm_general_stat where dimcode = "day" and dimvalue ='${dt}

java -Djava.ext.dirs=lib com.etl.Hive2RMDS \
--hive_url "${rdms_presql}"

 

posted @ 2018-08-30 22:31  硅谷工具人  阅读(4029)  评论(0编辑  收藏  举报
成功之道,在于每个人生阶段都要有不同的目标,并且通过努力实现自己的目标,毕竟人生不过百年! 所有奋斗的意义在于为个人目标实现和提升家庭幸福,同时能推进社会进步和国家目标! 正如古人讲的正心诚意格物致知,修身齐家治国平天下。