如何将变量转换为字符串格式? KSH shell脚本

时间:2018-05-30 19:09:37

标签: shell unix scripting ksh

我正在尝试将变量转换为字符串格式,以便稍后我可以使用java runsql实用程序将其值插入数据库。数据库需要使用char格式的值,因此需要字符串。

这是我的代码的一个愚蠢版本,所以我可以了解我所要求的核心 -

#!/bin/ksh -x
value1=2018-01-01
value2=2018-02-01

mystring=$value1,$value2
echo $mystring

stringify=${'value1'},${'value2'})
echo $stringify

我会得到stringify的输出或取决于我如何切换符号的排列而得到文字字符串'value1''value2'

我做错了什么?我觉得这很简单,也许我只是盯着它看太久了,我不知道。

2 个答案:

答案 0 :(得分:1)

你可以像这样逃避引用:

mystring=\'$value1\',\'$value2\'

输出:

  

$ echo $ mystring

     

'2018年1月1日', '2018年2月1日'

获得相同输出的简单选项(由@CharlesDuffy建议)是:

mystring="'$value1','$value2'"

答案 1 :(得分:0)

你可以这样做,更简单:

#!/bin/ksh -x
value1=2018-01-01
value2=2018-02-01

mystring=$value1,$value2
echo $mystring

stringify="'$value1','$value2'" #use double-quotes around the variables
echo $stringify

输出:

2018-01-01,2018-02-01
'2018-01-01','2018-02-01'