shell - 如何将变量转换为字符串格式?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'
.
我究竟做错了什么?我觉得这很简单,也许我只是盯着它太久了,我不知道。
解决方案
你可以像这样逃避引用:
mystring=\'$value1\',\'$value2\'
输出:
$ 回声 $mystring
'2018-01-01','2018-02-01'
获得相同输出的更简单的选择(如@CharlesDuffy 所建议)是:
mystring="'$value1','$value2'"
推荐阅读
- python - 无法让按钮调用内部函数,我不知道为什么
- c++ - 那是抽象的但具有非虚拟析构函数删除导致错误。这是为什么?
- javascript - 比较声明的函数,和一个FunctionObject,为什么后者可以控制全局变量(内部声明的变量名称相同)?
- visual-studio-code - 添加通用docker注册表时如何阻止visual-studio-code将“v2”附加到路径
- html - 模糊图像上的空白
- javascript - 即使没有拒绝,也要使用“.catch()”来承诺?
- node.js - 在 SSR 网站的静态资产上使用 CDN 是否合理?
- artificial-intelligence - 如何将focus_loss应用于SSD
- node.js - Julia 谈电子框架
- python - Django:当来自html的点击事件请求django视图时,有没有办法在VLC或其他东西中播放本地视频?