首页 > 解决方案 > 如何将变量转换为字符串格式?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'.

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

标签: shellunixscriptingksh

解决方案


你可以像这样逃避引用:

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

输出:

$ 回声 $mystring

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

获得相同输出的更简单的选择(如@CharlesDuffy 所建议)是:

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

推荐阅读