Bash sh:1:语法错误:使用backticks perl时发生意外重定向

Bash sh:1:语法错误:使用backticks perl时发生意外重定向,bash,perl,backticks,Bash,Perl,Backticks,当我打印$mysql\u cmd时,我得到了debconf集选择perl使用/bin/sh执行命令。尝试将该字符串馈送给sh,如果您得到相同的错误,那么这就是问题所在 如果要使用bash执行该语句,请使用bash-c“cmd args…”作为命令 如果您只需要向命令传递一行代码,那么最好避免在此类作业中使用的的不可移植bashism sh: 1: Syntax error: redirection unexpected 使用IPC::运行qw(运行); my@options=map“mysql

当我打印
$mysql\u cmd
时,我得到了
debconf集选择perl使用
/bin/sh
执行命令。尝试将该字符串馈送给sh,如果您得到相同的错误,那么这就是问题所在

如果要使用bash执行该语句,请使用
bash-c“cmd args…”
作为命令

如果您只需要向命令传递一行代码,那么最好避免在此类作业中使用的
的不可移植bashism

sh: 1: Syntax error: redirection unexpected
使用IPC::运行qw(运行);
my@options=map“mysql服务器mysql服务器/$\uu密码6ygr”,
qw(root\u密码root\u密码再次);
我的$mysql_统计;
运行[qw(debconf set selections)],'>',\$mysql\u stat,'2>>',\$mysql\u stat
或死亡“debconf集合选择:$?”
对于@选项;
运行[$install\u cmd,'mysql server'],'>>',\$mysql\u stat,'2>>',\$mysql\u stat
或死“$install_cmd:$?”;

主要原因是您不喜欢处理引用问题和不兼容等问题。

对于一个简单的问题,这是一个可笑的不雅观的解决方案。哎哟。@tpartee:我希望有你这样经验的人会欣赏这个解决方案的健壮性和安全性。真可惜。
sh: 1: Syntax error: redirection unexpected
use IPC::Run qw(run);
my @options = map "mysql-server mysql-server/$_ password 6ygr",
    qw(root_password root_password_again);
my $mysql_stat;
run [qw(debconf-set-selections)], '<', \$_, '>>', \$mysql_stat, '2>>', \$mysql_stat
    or die "debconf-set-selections: $?"
    for @options;
run [ $install_cmd, 'mysql-server' ], '>>', \$mysql_stat, '2>>', \$mysql_stat
    or die "$install_cmd: $?";