我正在尝试在 RHEL 中编写一个 shell 脚本,它将执行grub-md5-crypt
并且用户将输入他们的密码。
现在的问题是如何获取在 shell 脚本中向用户显示的加密 md5 哈希值?
我试图弄清楚这一点,但命令重定向在这里不起作用。那么脚本执行后如何获取shell脚本中的md5加密文本呢grub-md5-crypt
?
答案1
result=$(grub-md5-crypt | grep xy)
echo $result
如果 grub-md5-crypt 打印到 stderr 使用:
result=$(grub-md5-crypt 2>&1 | grep xy)
echo $result
答案2
如果它在您的 shell 脚本中不起作用,您可能需要使用 bash。只需添加:
#!/bin/bash
它必须处于第一的你的文件的行!
这意味着您的脚本将使用 bash 解释器,而不是普通 shell 的解释器 ( /bin/sh
)。
正在完成禁止驶入的答案,您还可以将输出保存到文件中。
grub-md5-crypt | grep xy > output
或者:
result=$(grub-md5-crypt 2>&1 | grep xy)
echo $result > output
这将生成一个文件名输出,其中包含屏幕上打印的任何内容。