Algumas ideias:
myscript alias1 "$HOME/dir/ascript"
avaliará na parte de teste para
[ -f '/home/me/dir/ascript' ]
que pode ser verdadeiro ou falso.
myscript alias2 '$HOME/dir/anotherscript'
avaliará na parte de teste para
[ -f '$HOME/dir/ascript' ]
que é sempre falso (a menos que você tenha um diretório chamado $ HOME no diretório local).
e
myscript alias3 "$HOME/dir/sample.sh foo bar"
avaliará na parte de teste para
[ -f '/home/me/dir/sample.sh foo bar' ]
que é falso, a menos que haja um arquivo 'sample.sh foo bar' em /home/me/dir
.
e você deve corrigir .bash_aliases
e usar
echo "alias $1='$2'" >> $HOME/.bash_aliases