passa protocolos ao comando do arquivo

1

A execução manual do seguinte comando funciona bem

/ jrr / bin / java -Xms14M -Xm14M -Dhttps.protocols = Tv1.2 -Dk.ts.client.protocols = TLSv.2 -jar /gq1/ust/classes/S.jar $ (< / pass.txt)

mas o shell falha não pode ler "(< /pass.txt)": nenhuma variável desse tipo

! / usr / bin / expect

spawn ssh [email protected] "/ jrr / bin / java -Xms14M -Xm14M -Dhttps.protocols = Tv1.2 -Dk.ts.client.protocols = TLSv.2 -jar / gq1 / ust / classes / S.jar $ (< /pass.txt);cd / gucq1 / gcust; mail -s 'Olá' [email protected] < logs.txt " esperar "senha" enviar "N0 \ r" interagir espere eof.

    
por SHaFqaT M 13.12.2017 / 15:54

1 resposta

1

Tente

command $(< abc.txt)

onde

  • $(< ) construct lerá o arquivo, retira o final da linha e substitui na linha de comando

Mais informações no manual do Bash, capítulo Substituição de Comando :

Bash performs the expansion by executing command and replacing the command substitution with the standard output of the command, with any trailing newlines deleted. Embedded newlines are not deleted, but they may be removed during word splitting. The command substitution $(cat file) can be replaced by the equivalent but faster $(< file).

    
por 13.12.2017 / 16:07