我试图cd到md5散列的任何变量设置到脚本中,但我没有得到正确的md5值,我认为这与我如何声明我的变量有关。谢谢你的帮助!

#!/bin/bash
var1=$1
md5=$(-n $var1 | md5sum)
cd /var/www/html/$md5

我想它会把我带到MD5哈希给出的目录:
$ ./myscript hello
(no output)
$ pwd
/var/www/html/5d41402abc4b2a76b9719d911017c592

相反,它会给我错误并试图cd到错误的路径:
$ ./myscript hello
./myscript: line 3: -n: command not found
./myscript: line 4: cd: /var/www/html/d41d8cd98f00b204e9800998ecf8427e: No such file or directory
$ pwd
/home/me

不管我输入哪个值,它错误地尝试cd到的md5sum也是相同的。

最佳答案

这对其他有这个问题的人来说是个解决方案

#!/bin/bash
md5=$*
hash="$(echo -n "$md5" | md5sum )"
cd /var/www/html/$hash

关于linux - 将shell脚本变量设置为命令输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38641757/

10-16 21:42