linux - 将 shell 脚本变量设置为命令的输出

标签 linux bash shell

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

相关文章:

linux - CP 错误(与 ls 和 grep 结合使用)- cp : cannot stat

php - 如何强制 GPG 接受来自 STDIN 的输入而不是尝试打开文件?

regex - 使用 sed 将文件中的字符串替换为该名称变量的内容

Python shell 没有显示错误,但程序没有运行

c++ - 如何在批处理模式下工作

linux - Cocoa = 如何在不启动 C 终端的情况下在后台运行脚本

linux - Adobe Flash 中的命令行调用

c++ - 从 Pulse Audio 运行简单的 C 程序时出错

mysql - bash中取mysql数据,函数read读取每一句作为变量

python - 箭头键、home 和 end 在 django 终端中不起作用