linux - 运行命令,然后通过 SQLCMD 添加结果
问题描述
我正在尝试在 bash 中运行命令,然后使用 SQLCMD 将结果输出到数据库
以下是我的部分脚本
commandResults=$(/home/techionadmin/ssh.sh ${d9} "${d5}")
newcmd=${commandResults}
ranattimestamp=$(date +%s)
echo ${newcmd}
sqlcmd -S SERVER -d DB-U USER-P PASSWORD-Q \
"SET NOCOUNT ON UPDATE micro_i_cmd_queue SET status='EXECUTED', result='${newcmd}', ran_at='$ranattimestamp' WHERE id='$d1'" -b
例如,我在 Linux 机器上运行“ls -l”命令,然后想将结果放在 DB 中 echo ${newcmd} 行一切正常,输出一切正常但是当我运行 SQLCMD 时出现错误
Unclosed quotation mark after the character string
除了这部分,其他一切都有效
我尝试过的是删除所有换行符或回车符,但只有在我按照以下方式执行时才有效。
commandResults=$(/home/techionadmin/ssh.sh ${d9} "${d5}" | tr -d '\040')
注意 | tr -d '\040' 最后 - 所以它会删除所有空格并留下换行符、制表符和返回如果我尝试用像“~”这样的字符替换所有空格,我可以在服务器端修复它,但是它不工作
帮助!!!!
以下错误的完整输出
Unclosed quotation mark after the character string 'total 5260
-rw-r--r-- 1 pi pi 1791164 Nov 22 2018 2018-11-22- 101115_1280x1024_scrot.png
-rw-r--r-- 1 pi pi 1792668 Nov 22 2018 2018-11-22- 101123_1280x1024_scrot.png
-rw-r--r-- 1 pi pi 1412 Jun 17 13:18 checkver.sh
drwxr-xr-x 2 pi pi 4096 Nov 22 2018 Desktop
drwxr-xr-x 2 pi pi 4096 Oct 10 2018 Documents
drwxr-xr-x 2 pi pi 4096 Oct 10 2018 Downloads
-rw-r--r-- 1 pi pi 1661676 Oct 9 2018 get-pip.py
drwxr-xr-x 2 pi pi 4096 Jan 8 12:35 Heartbeat
drwxr-xr-x 8 pi pi 4096 Dec 5 2011 i2c-tools-3.1.0
-rw-r--r-- 1 pi pi 66840 May 1 2012 i2c-tools_3.1.0.orig.tar.bz2
drwxr-xr-x 2 pi pi 4096 Oct 10 2018 MagPi
drwxr-xr-x 5 pi pi 4096 Jun 12 12:26 Micro-I
drwxr-xr-x 14 pi pi 4096 Jun 19 12:07 MicroI_Deployment
drwxr-xr-x 2 pi pi 4096 Oct 10 2018 Music
-rw-r--r-- 1 pi pi 0 Jul 1 14:54 nul
drwxr-xr-x 2 pi pi 4096 Oct 10 2018 Pictures
drwxr-xr-x 2 pi p
Msg 102, Level 15, State 1, Server tgitsupport, Line 1
Incorrect syntax near 'total 5260
-rw-r--r-- 1 pi pi 1791164 Nov 22 2018 2018-11-22-101115_1280x1024_scrot.png
-rw-r--r-- 1 pi pi 1792668 Nov 22 201'.
'总5260'后面有特殊字符吗???
解决方案
什么是输出: echo ${newcmd}
也许它在字符串中包含一个 ' ,并且在 result='${newcmd}' 处过早地关闭了你的引号
推荐阅读
- java - 如何管理对象数组?
- javascript - 你如何通过 props 传递一个字符串,然后在 React Native 的组件标签中使用它作为一个值?
- c++ - stl:priority_queue 未按 FIFO 顺序对相同优先级元素进行排序
- python - 如何在熊猫框架中将特定月份值与日期相加?
- python - 在时钟秒值更改的精确时刻调用 Python 子例程?
- python - 使用 Scrapy 和 Python 进行分页抓取
- javascript - 我怎样才能使我的导航内容居中?
- azure - 无法使用 Azure 容器实例的 dns 解析 IP
- java - Hibernate Search - 通配符和空格
- javascript - Javascript通过另一个对象数组的键过滤对象数组