Um problema que você está tendo com seu script está nesta linha:
line= dcmdump +P 0040,0254 0001.dcm
Em vez de atribuir a saída de dcmdump
a line
, ele está executando o comando dcmdump
com uma variável de ambiente chamada line
set to ''
. Você pode ler mais sobre isso aqui .
Então, o que você está realmente vendo é a saída de dcmdump
sendo executada pelo seu script, não a saída de $line
, já que $line
não está sendo atribuído a nada.
Para capturar a saída de um programa, use a sintaxe
line=$(dcmdump +P 0040,0254 0001.dcm)
(Observe também que não há espaço antes ou depois do sinal =
ser seguro.)
$()
executa o código dentro dos parênteses em um subshell e, em seguida, "substitui" a si mesmo por aquela saída desse código.
Você provavelmente quer que 0001.dcm
dentro do comando dcmdump
seja $file
, mas não estou familiarizado com isso, então deixarei isso para você.