Bash sed 将身份验证读入 Vagrant VM 的 debconf-set-selections

Bash sed 将身份验证读入 Vagrant VM 的 debconf-set-selections

我有一个Vagrantfile使用 bash 脚本来设置虚拟机的程序。我无法使用文件输出来获取脚本来为 MySQL 设置debconf-set-selections密码.auth

以下是该.auth文件的一个示例:

# MySQL password
jimmy

以下是 Vagrant 使用的脚本bootstrap.sh

# MySQL password
mypass=$(sed '2q;d' .auth)
debconf-set-selections <<< "mysql-server mysql-server/root_password $mypass"
debconf-set-selections <<< "mysql-server mysql-server/root_password $mypass"

给出的错误(两次):

==> default: warning: Unknown type jimmy, skipping line 1

答案1

我找到了解决问题的方法。我会在这里发布它,这样遇到同样问题的人就不会陷入困境。

mypass=$(sed '2q;d' .auth)
debconf-set-selections <<< "mysql-server mysql-server/root_password password "$mypass
debconf-set-selections <<< "mysql-server mysql-server/root_password_again password "$mypass

我没有传递预期的类型password。这就是脚本抱怨密码的原因。

我也看到过类似的答案这里

相关内容