Eu nem tenho certeza se isso é possível ou não. Estou tentando criar um loop onde posso enrolar com valores diferentes de um arquivo.
for i in `cat id`;
do curl -X POST 'https:/myurl \
--header 'X-XX-Authorization: XX' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'ACS-Licensing-Ack: XXXX' \
--header 'Authorization: Bearer XXXXX' \
--data-urlencode 'XXID=`find * -name $i`'
done
eu recebo uma resposta
{"code":"400-bad-request","message":"XX app with ID `find * -name $i` not found"}
Como coloco o valor de $i que capturei anteriormente neste campo --data-urlencode? Meu arquivo de identificação é muito simples, contém alguns números como abaixo. 1234 23232 32323 qualquer ajuda é muito apreciada. Obrigado.
Este é o meu arquivo de identificação. É basicamente uma lista de números
1761
1762
1763
1764
1765
Então, meu objetivo final é entrar em um loop onde a primeira solicitação de curl irá --data-urlencode 'XXID=1761' a segunda solicitação irá --data-urlencode 'XXID=1762', a terceira vai --data-urlencode ' XXID=1763' etc
Você não pode usar aspas simples
'
para variáveis, pois qualquer coisa entre elas será tratada como texto literal e não será expandida pelo shell. Em vez disso, use aspas duplas"
.Também
find
é um utilitário para pesquisar arquivos, não em arquivos.O seguinte deve funcionar:
Se o seu
id
arquivo contém apenas um número que aumenta em 1 a cada linha, você pode usar umseq
para{..}
criar uma sequência de números: