iMe
iMe

Reputation: 85

Weird issue with "sed" command

On my script, this -for unknown some reason- gives me errors when it reaches sed command:

function nzb() {
  ( [ -z "$1" ] ) && echo "No argument is given!" && return 1
  hash="$(echo -n "$1" | md5sum | cut -d" " -f1)"
  mkdir "${hash}" && rar a -m0 -v200M "${hash}"/"${hash}".rar "$1" && rm -rf "$1" &&
  par2 c  -r10 -l "${hash}"/"${hash}".par2 "${hash}"/* && ~/newsmangler-master/mangler.py
  -c ~/.newsmangler.conf "{hash}" && sed -i "1i$1\n${hash}\n" ~/hashs.txt
}

.

ERROR: "{hash}" does not exist or is not a file!
ERROR: no valid arguments provided on command line!

But when I -out of curiosity- removed sed's preceding commands, it worked perfectly like it suppose to:

function nzb() {
  ( [ -z "$1" ] ) && echo "No argument is given!" && return 1
  hash="$(echo -n "$1" | md5sum | cut -d" " -f1)"
  sed -i "1i$1\n${hash}\n" ~/hashs.txt
}

.

Any Ideas?

EDIT: it seems the problem is located in this area:

 . . . && ~/newsmangler-master/mangler.py -c ~/.newsmangler.conf "{hash}" && . . .

Because even this is working:

function nzb() {
  ( [ -z "$1" ] ) && echo "No argument is given!" && return 1
  hash="$(echo -n "$1" | md5sum | cut -d" " -f1)"
  mkdir "${hash}" && rar a -m0 -v200M "${hash}"/"${hash}".rar "$1" && rm -rf "$1" &&
  par2 c -r10 -l "${hash}"/"${hash}".par2 "${hash}"/* && sed -i "1i$1\n${hash}\n"
~/hashs.txt
}

Upvotes: 1

Views: 33

Answers (1)

Walter A
Walter A

Reputation: 20002

Replace "{hash}" with "${hash}"

Upvotes: 1

Related Questions