Como instalar uma função bash contendo variáveis usando um script bash? [duplicado]

Esta pergunta já tem uma resposta aqui:

Como evitar variáveis de expansão heredoc? [duplicado] 2 respostas

Estou tentando criar um script bash que me permita instalar a mesma função bash em várias máquinas. Esta função específica cria uma cópia de um arquivo com um carimbo de data / hora em um diretório de backup:

filebackup () { cp "${@}" ~/"filebackup/${@}_$(date +%Y-%m-%d_%H:%M:%S).bk"; }

Aqui está o meu script bash:

cat <<EOT >> ~/.bashrc
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# create a file backup in ~/filebackup/ with timestamp
filebackup () { cp "${@}" ~/"filebackup/${@}_$(date +%Y-%m-%d_%H:%M:%S).bk"; }
EOT

source ~/.bashrc

Quando executo o script, no entanto, o${@} estão faltando e o$(date +%Y-%m-%d_%H:%M:%S) foi avaliado. Aqui está o que foi anexado ao.bashrc Arquivo:

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# create a file backup in ~/filebackup/ with timestamp
filebackup () { cp "" ~/"filebackup/_2017-01-05_12:07:56.bk"; }

Como posso garantir que a função seja copiada literalmente no arquivo?

questionAnswers(2)

yourAnswerToTheQuestion