leu um arquivo do caminho do servidor - bash

0

Estou passando um nome de arquivo com o caminho /tmp/user/abc.txt para o shell script

lá eu quero ler o abc.txt e obter o conteúdo em uma variável.

agora estou usando export SUBJECT= echo $ {1} SUBJECT_1= cat $ ASSUNTO '

isso não está imprimindo nada. por favor me ajude como imprimir, Além disso, o conteúdo deste arquivo terá alguns caracteres japoneses também.

    
por Dbase Plsql 29.07.2017 / 01:02

1 resposta

1

Você tem alguns erros no seu código:

  1. Você tem uma falta de backquote aqui SUBJECT_1=cat $SUBJECT '.
  2. export SUBJECT=echo ${1} é uma declaração falsa. Deve ser export SUBJECT="${1}" .
  3. As citações posteriores executam o código dentro delas em um subnível, portanto não imprimirá o conteúdo do arquivo. Se você quiser imprimi-lo, você terá que adicionar esta linha: echo "${SUBJECT_1}" .

Depois de corrigir isso, o código funcionará, mas aqui estão algumas dicas que você deve considerar:

  1. Você deve usar $(code) se quiser executar código em um subshell em vez de usar backquotes, pode ler sobre isso em este segmento SO .
  2. Na próxima vez que você estiver preso no código shell, tente este primeiro, ele tem ótimos recursos de depuração para código shell e você pode encontrar a versão da linha de comando.
  3. Sempre use aspas duplas nas variáveis, isso evita que a variável seja dividida. Você pode ler sobre isso aqui .
por 29.07.2017 / 03:56