bash
permite definir variáveis antes do comando, assim:
X="very-long-file-name" bash -c 'mv "${X}.x" "${X}.y"'
Mas tenha em atenção que as variáveis definidas desta forma são definidas apenas para o ambiente em que o comando é executado, não no ambiente da shell pai. Então você tem que ter o bash -c
, e colocar aspas simples em torno da string do argumento subshell, caso contrário as variáveis serão interpretadas no shell pai, onde elas não estão definidas.