Se o c tiver alias para clear , mas não para os seus próprios arquivos de inicialização, é mais provável que ele seja feito nos arquivos de inicialização de todo o sistema em /etc . Verifique, por exemplo, /etc/bash.bashrc (ou consulte o manual bash para quais arquivos são usados, isso pode ser diferente entre os sistemas, dependendo de como o bash foi criado).
Não importa onde c tenha alias para clear , você pode usar unalias c antes de defini-lo como uma função com
unalias c
Você também pode considerar usar $HOME no lugar de ~ . Isto é devido a $HOME ser mais descritivo (e você não precisa realmente digitá-lo, pois ele faz parte de um alias, então você não "perde" nada), e que ele se comporta como uma variável, enquanto ~ não. Veja Por que o til (~) não expande dentro de aspas duplas