Use aspas simples:
alias editprojectfiles='edit $PWD/afile.txt'
Melhor ainda, use isso caso você tenha espaço em branco no nome do diretório:
alias editprojectfiles='edit "$PWD"/afile.txt'
EDIT:
Depois de ler seus comentários para a resposta do savanto, acho que o que você deseja é o seguinte:
- você tem o arquivo afile.txt em uma pasta do seu projeto atual
- edite este arquivo
- você passa para um projeto diferente e mv afile.txt para uma nova pasta de projeto
- você ainda deseja editar o arquivo afile.txt em uma nova pasta de projeto
Basicamente, você quer editar o mesmo arquivo afile.txt, independentemente de sua localização. Todo arquivo no sistema de arquivos é identificado ambiguamente pelo número do inode. Você pode ver o número do inode ao lado do nome do arquivo usando o comando -i no comando ls:
$ ls -Alhi
total 4.0K
8013300 -rw-r--r-- 2 ja ja 10 Jun 3 11:38 afile.txt
Aqui 8013300 é o número do inode. Depois de mover um arquivo para um local diferente dentro do mesmo sistema de arquivos, seu número de inode não é alterado. Agora você precisa criar um hardlink apontando para afile.txt. Os hardlinks são diferentes dos links simbólicos. Hardlink tem o mesmo número de inode que o arquivo de destino. E como eu disse, o inode do arquivo permanece o mesmo, mesmo que o arquivo seja movido, então, mesmo que você mova o afile.txt original para um novo diretório, o hardlink ainda apontará para o arquivo em um novo diretório.
Use o comando ln para criar hardlink:
$ ln path/to/afile afile
Se você fez isso no diretório home, um arquivo será criado e terá o mesmo inode que o caminho / to / afile. Tente editar ~ / afile e verifique se o caminho / para / afile também é alterado. Tente mover o caminho / para / afile para um diretório diferente, edite ~ / afile e verifique novamente se o arquivo em um novo local tem a mesma aparência - deve.
Se funcionar, faça seu alias ficar assim:
alias editprojectfiles="edit ~/afile.txt"
EDIT:
Eu não acho que há uma maneira de fazer isso usando apenas o comando alias em ~ / project / aliases.bash. Você precisa passar uma variável para o comando alias que está configurado antes do comando alias. No seu caso, essa variável é o caminho em que alias.bash reside. Seu aliases.bash deve ficar assim:
DIR="$(dirname ${BASH_SOURCE[0]})";
alias editprojectfiles="edit $DIR/afile.txt"
$ DIR é um caminho para a pasta do seu projeto. Invocações subseqüentes de editprojectfiles se referirão ao diretório $ DIR que sempre será o mesmo.