当前位置: 首页 > 面试题库 >

CURL命令在bash脚本中不起作用

阎晗日
2023-03-14
问题内容

我正在尝试使用bash脚本将JSON文件上传到我的noSQL数据库中,但是它不起作用,我也不明白为什么。

这是脚本:

test='{"evaluation": "none"}'
test="'$test'"
command="curl -XPUT localhost:9200/test/evaluation/$i -d $test"
echo "$command"
$command

这是错误:

curl -XPUT localhost:9200/test/evaluation/0 -d '{"evaluation": "none"}'
{"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406}curl: (3) [globbing] unmatched close brace/bracket in column 7

当我执行命令行中给出的命令时,它仍然可以正常工作。

这是什么错误?谢谢


问题答案:

不要将命令存储在变量中;如果您绝对必须具有可用于日志记录的内容,请将 参数 放入数组中。

test='{"evaluation": "none"}'
args=( -XPUT localhost9200/test/evaluation/"$i" -d "$test" )
echo "curl ${args[*]}"
curl "${args[@]}"


 类似资料:
  • 我已经写了一个脚本,在我的Ubuntu发行版上作为自动点击器工作。点击工作,但'sleep‘命令似乎不能正常工作。如果我取出click并从terminal运行它,那么sleeps将按预期工作。但是当我将它绑定到一个快捷方式并且在玩游戏的时候运行它的时候,它并没有Hibernate,看起来它只是一直点击。 最重要的Hibernate是break_intervalHibernate,因为它将高压灭菌器

  • 问题内容: 我有一个python脚本,该脚本在运行时会在终端上记录信息,我想将此记录信息发送到文本文件, 为了实现这一点,我正在插入文件 在文件末尾,我放入 问题是当它调用第一个命令时,它将终止脚本, 提前感谢我如何做这项工作的任何建议 问题答案: 问题在于,直到退出产生的外壳程序才返回,这时您的Python脚本将恢复。 执行所需操作的最简单方法是使用Python脚本作为参数来调用自身。代替 您将

  • 问题内容: 只要我通过Linux终端(bash shell)使用它,我的anaconda(4.5.4)都可以正常工作。但是,在bash脚本中运行conda命令根本不起作用。 脚本test.sh包含以下几行: 现在,运行会导致错误 如推荐给anaconda版本> 4.4,我的.bashrc不包含 但 谢谢。 问题答案: 由于@darthbith的评论,我解决了这个问题。 由于是bash函数,并且ba

  • 问题内容: 我正在尝试在python脚本中执行curl命令。 如果我在终端中执行此操作,则如下所示: 我看到了使用建议,但是我不知道如何将其应用于我的。 我尝试使用: 可以,但是还有更好的方法吗? 问题答案: 您可以像@roippi一样使用urllib:

  • 问题内容: 在bash脚本中不能使用模式匹配,但可以在命令行上使用。 例如: 这将列出目录中除和以外的所有文件。 在脚本中执行该行时,将显示此错误: 不管用什么。发生相同的错误。这是怎么回事,为什么这在脚本中不起作用? 问题答案: 默认情况下,您尝试使用的扩展glob语法是关闭的;您必须在要使用它的每个脚本中分别启用它。 脚本不应该使用,尽管我想您在这里只是将其用作占位符。

  • 问题内容: 我有一系列要执行的命令。但是,只要出现“找不到命令”错误,我就需要退出。因此,执行输出后检查不是一种选择 “ $?” 当“未找到命令”并成功时,变量等于零。 问题答案: 如果应该通过脚本完成此操作,则很自然地可以使用条件来表达这种行为: