gpt4 book ai didi

mysql - PowerShell - 带参数执行MySQL

转载 作者:行者123 更新时间:2023-11-30 23:26:56 25 4
gpt4 key购买 nike

我正在尝试运行脚本以从 MySQL 输出一些记录,但是当我尝试运行脚本时它显示 MySQL 帮助文件,我认为参数没有正确传递给程序。

这是脚本

$path_to_MySQL = "C:\xampp\mysql\bin\mysql.exe"

$param1 = "-h XXX"
$param2 = "-D XXX"
$param3 = "-u XXX"
$param4 = "-pXXX"
$param5 = "-e ""SELECT 'Test';"""

$params = @($param1, $param2, $param3, $param4, $param5)

write-host $path_to_MySQL $params

&$path_to_MySQL $params

现在输出到显示器,

C:\xampp\mysql\bin\mysql.exe -h XXX -D XXX -u XXX -pXXX -e "SELECT 'Test';"
ERROR 2005 (HY000): Unknown MySQL server host ' XXX'

第一行是因为 write-host 行。

但是,当我从此处复制输出并直接在控制台中运行时,它运行正确。 (即我有正确的主机详细信息)

如何使用 PowerShell 脚本运行这一行?

最佳答案

您使用什么作为服务器名称?注意错误信息:Unknown MySQL server host 'XXX',其中引用主机名为'XXX'(注意空格)而不是'XXX '.

Powershell 中的一个问题是双引号 " 字符串会被求值,而单引号 ' 字符串不会被求值。因此,如果您的主机名包含特殊字符,Powershell 可能会弄乱 ' em 起来。也就是说,

$foo="foo"

# This will print
# foo walked in bar
"$foo walked in bar"

# This will print:
# $foo walked in bar
'$foo walked in bar'

尝试这样的解决方法,

$param1 = '-h XXX'
$param2 = '-D XXX'
$param3 = '-u XXX'

&$path_to_MySQL $param1 $param2 $param3

关于mysql - PowerShell - 带参数执行MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12812671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com