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

Posted 胖子学习天地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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}"

 

以上是关于shell脚本传递带有空格的参数的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本参数中有空格

shell脚本或R脚本中参数含有空格的处理方法

参数传递:shell脚本调用一个带参数的python函数

怎样向shell函数中传递有空格的字符串参数

shell脚本的空格分隔参数

将 $@ 传递给 shell 脚本中的函数