我想创建一个bash脚本,用于创建字符串的md5-hash。 但字符串可以包含特殊字符和空格。我怎么能得到这样的字符串是可读的,例如。 MD5SUM?
我已将以下脚本编写为" md5.sh":
#!/bin/bash
echo -n $1 | md5sum | awk '{print $1}'
但如果我使用" ./ md5.sh" (最后有一个空格)这将无法识别。 也无法从脚本中读取引用。还有一个"将以提示结束...
希望有人可以帮助我:)。
答案 0 :(得分:1)
首先,您需要在脚本中引用参数(并使用printf
;如果人们忘记echo
存在,那么世界会更好:
printf '%s' "$1" | md5sum | awk '{print $1}'
其次,要传递一个实际的空格作为参数,它也必须引用,以便shell不会丢弃它:
./md5.sh " "