我试图将 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/