Se você quiser acrescentar (o conteúdo de) xyz.sh
a wow.sh
, a maneira mais simples é esta:
cat xyz.sh >> wow.sh
Usar read
para obter o mesmo resultado não é tão direto quanto parece. \
é um caractere especial no shell. Você teria que usar a opção -r
, o que significa:
-r do not allow backslashes to escape any characters
cat
faz isso por padrão. Além disso, read
não é a ferramenta correta para fazer esse tipo de operação. A intuição deve dizer o mesmo quando você compara a sintaxe para ambos os comandos.
Há mais um comando em que você pode se interessar. É o source
builtin, também chamado por .
. Se você originar um arquivo do seu script, ele funcionará como se o conteúdo do arquivo originado estivesse presente no script. Então, colocando esta linha em wow.sh
:
. xyz.sh
ou
source xyz.sh
não copia o conteúdo de xyz.sh
para wow.sh
, mas o próprio conteúdo de xyz.sh
é executado enquanto wow.sh
é executado, como se estivesse presente no script. Claro que apenas se o arquivo xyz.sh
estiver presente durante a execução do script wow.sh
.