como concatenar caminho com variáveis do arquivo de origem

0

Eu tenho um arquivo de origem que contém  algumas variáveis, por exemplo,

 locate=$HOME

e um script de shell que contém

. .foorc


cat ${locate}/file.txt 

Eu recebo um erro de gato com a menção "sem esse arquivo". Todo arquivo está em seu diretório designado ..

O que eu fiz de errado?

Obrigado Raphael

    
por Raphaël 05.12.2015 / 12:28

2 respostas

1

Você pode usar variáveis declaradas em um arquivo usando source filename no seu script de shell.

Exemplo:
É assim que meu diretório se parece:

.
├── .foorc
├── foo.sh
└── testdir
    └── file.txt

O conteúdo de .foorc :

directory="./testdir"
word="World"

O conteúdo de file.txt :

foo-bar

O conteúdo de foo.sh :

#!/bin/bash

source .foorc

echo "Hello $word"
cat "$directory"/file.txt

Agora, a execução de ./foo.sh resulta em:

Hello World
foo-bar
    
por Wayne_Yux 05.12.2015 / 17:11
0

Problema resolvido. Presumi que, se a função cat não conseguisse encontrar o arquivo, era um problema devido ao diretório de trabalho. Eu adicionei cd ao diretório que eu parecia estar e resolvi o problema

cd ${location}
cat file.txt

Obrigado pela sua resposta muito completa.

    
por Raphaël 05.12.2015 / 17:32