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 .