【发布时间】:2012-08-30 16:57:56
【问题描述】:
我正在尝试让 base64 编码工作并输出到 bash 脚本中的变量。常规的cli语法是:
echo -ne "\0myuser@myhost.com\0mypass" | base64
但是当我尝试将其放入脚本中的变量时,它会输出,但编码非常小,所以我知道它不起作用。我在脚本中的代码是:
auth=$(echo -ne "\0$user@$host\0$pass" | base64);
我知道这与引号有关,但我尝试了无数不同的引号、单引号和反斜杠,但没有成功。
有什么想法吗?
编辑:更多信息。这应该与上面的用户/密码/主机一起输出:
AG15dXNlckBteWhvc3QuY29tAG15cGFzcw==
但在它输出的脚本中:
LW5lIAo=
【问题讨论】:
-
您确定
$user、$host和$pass已设置吗?对不起一个愚蠢的问题,但必须排除明显的东西。因为在我的测试中它工作正常,见pastebin.com/mSR64eEh -
该死!!是的,他们的设置,我在这样做之前就这样做了:user="myuser" pass="mypass" host="myhost.com"
-
看到我的粘贴箱了吗?编辑了我的评论,不确定你回答之前还是之后:)
-
是的,我以前看过它,这很奇怪,我有完全相同的东西,但不行:(
-
@jordanm - 完全同意,尽管许多初学者并没有真正感受到区别:)
标签: linux bash variables base64