2015-04-23 8 views
1

На мой сценарий, это -для неизвестно некоторые Reason-дает мне ошибки, когда он достигает патч в команду:Weird проблема с командой «SED»

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! 

Но когда я -OUT из curiosity- удаленных СЕПГ предыдущих команд, она работала отлично, как это предполагают, чтобы:

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 
} 

.

Любые идеи?

EDIT:, кажется, проблема находится в этом районе:

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

Потому что даже это работает:

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 
} 

ответ

1

Заменить "{хэш}" с «$ {хэш} "

Смежные вопросы