trp*_*him 0 linux perl zentyal
我使用 Zentyal(以前称为 EBox)作为我的家庭网关/服务器,以评估它是否可以在本地组织中使用。我想更改根 MySQL 密码,我做到了,并且错误地更改了 Zentyal/var/lib/zentyal/conf文件夹中的密码以匹配它。所以我将 Zentyal 密码改回原来的样子,但问题是,当我使用nano它编辑该文件时,必须添加一个换行符或其他东西,因为现在检索密码的 Perl 脚本(用于cat从file) 导致 MySQL 访问被拒绝错误。然而,当我在 Perl db connect 函数中硬编码密码时,它就像一个魅力。
我试图nano -L编辑该文件,以及echo >将密码输出到文件中,但两者都没有运气。当 Perl 脚本执行 acat来获取密码时,是什么导致了问题?
为什么不直接使用 perl 的原生 i/o 功能来读取文件?
open FH, "/path/to/password.txt";
chomp(my $passwd = <FH>);
Run Code Online (Sandbox Code Playgroud)
该chomp字符串的结尾这里丢弃一个换行符。
Perl 脚本执行 cat 获取密码时出现问题的原因是什么?
您是否尝试过打印出您从文件中读取的密码?就像是:
print ":", $passwd, ":\n";
Run Code Online (Sandbox Code Playgroud)
冒号在那里,因此您可以发现任何无关的空格(换行符等)。您还可以使用xxd(如果vim安装在您的系统上,您将拥有)或od -a查看文件中的所有字节。例如,给定一个包含“ secret\n”的文件,od -a将显示:
$ od -a file
0000000 s e c r e t nl
0000007
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用 nano -L 来编辑文件以及使用 echo > 将密码添加到文件中,
我不知道nano,但echo会在输出的末尾添加一个换行符。如果你不想这样:
echo -n password > file
Run Code Online (Sandbox Code Playgroud)
在-n抑制拖尾换行符。
| 归档时间: |
|
| 查看次数: |
523 次 |
| 最近记录: |