Привет, я продолжаю получать сообщение об ошибке
./imagehash.sh: line 2: =: command not found
Когда я знаю, что правильно установил переменную $CMD
(я попробовал команду вне скрипта bash, и она отлично работала)
вот мой скрипт bash
#!/bin/bash
$CMD='md5sum ../Desktop/cases/CourseworkCase/Evidence/image.dd'
echo $CMD
UPDATE
исправил bash, так что в переменной $CMD
не было пробелов и поместил ''
вокруг нее, но теперь я получаю файл ошибки no such file or directory
Я посмотрел на путь и скопировал его буква за буквой и ее правильно.
Что я здесь не так делаю?
#!/bin/bash
CMD="$(md5sum ../Desktop/cases/CourseworkCase/Evidence/image.dd)"
echo $CMD
Для присвоения переменной никогда не помещал $
знак прежде , ни пробелы вокруг знака "равно". Переменное присвоение в ударе похоже на это:
MYVAR="CONTENT"
Для создания переменной с выводом команды можно использовать $(command)
. Это выполнит command
и возвратит его вывод.
вывод md5sum
будет похож на это:
f110abe5b3cfd324c2e5128eb4733879 image.dd
, Если, Вы хотите изолировать md5 сумму имени файла, можно использовать одну из этих строк вместо этого:
CMD="$(md5sum ../Desktop/cases/CourseworkCase/Evidence/image.dd | cut -d ' ' -f 1)"
CMD=($(md5sum ../Desktop/cases/CourseworkCase/Evidence/image.dd))