Você omitiu uma substituição de comando de sinal de dólar aqui:
ctfPadded=(printf ${ctflist}00000000)
Esta linha deve ser:
ctfPadded=$(printf ${ctflist}00000000)
A criptografia em esse problema ficou mais interessante . Eu comecei com este script:
while read CTFlist; do
#next we need to create ctfs padded with zeros as a variable
ctfPadded=(printf ${ctflist}00000000)
#then call rc2 key as variable
rc2Key="TemporaryRC2Key1"
#next create a hex version of the rc2 key
hexRc2Key=$(printf "${rc2Key}"|xxd -p)
#next to create the encrypted ctf file using the hex rc2 key
ctfEnc= $(printf "${ctfPadded}" |xxd -r -p |openssl enc -rc2-cbc -nopad -K "${hexRc2Key}" -iv 0000000000000000 |xxd -plain|tr -d '\n')
#Now we call all our variables and output to a single file.
echo ${ctfPadded},${ctfEnc^^} >> output.csv
#calling end of file with the input file of ctflist.csv
done <CTFlist.csv
#have to change the output file to dos version or it wont open on a windows comp
unix2dos output.csv
O arquivo output.csv tem printf em todas as linhas da lista. Por quê? o que está incorreto?
Tags shell-script