oct*_*rot 3 command-line bash md5sum
嗨,我不断收到错误消息
./imagehash.sh: line 2: =: command not found
Run Code Online (Sandbox Code Playgroud)
当我知道我$CMD正确设置了变量时(我在 bash 脚本之外尝试了该命令并且它工作得很好)
这是我的 bash 脚本
#!/bin/bash
$CMD='md5sum ../Desktop/cases/CourseworkCase/Evidence/image.dd'
echo $CMD
Run Code Online (Sandbox Code Playgroud)
更新
修复了 bash,因此$CMD变量中没有空格并将其放在''它周围,但现在我收到了错误文件,no such file or directory我查看了路径并将其逐个复制,并且是正确的。
我在这里做错了什么?
0x2*_*fa0 15
#!/bin/bash
CMD="$(md5sum ../Desktop/cases/CourseworkCase/Evidence/image.dd)"
echo $CMD
Run Code Online (Sandbox Code Playgroud)
要分配变量,请不要在$等号前放置符号,也不要在等号周围放置空格。bash中的变量赋值是这样的:
MYVAR="CONTENT"
Run Code Online (Sandbox Code Playgroud)要使用命令的输出创建变量,您可以使用$(command). 这将执行command并返回其输出。
的输出md5sum将是这样的:
f110abe5b3cfd324c2e5128eb4733879 image.dd
Run Code Online (Sandbox Code Playgroud)
如果要隔离文件名的 md5 总和,可以改用以下行之一:
CMD="$(md5sum ../Desktop/cases/CourseworkCase/Evidence/image.dd | cut -d ' ' -f 1)"
CMD=($(md5sum ../Desktop/cases/CourseworkCase/Evidence/image.dd))
Run Code Online (Sandbox Code Playgroud)