Назначения переменных в команде оболочки влияют только на среду, переданную этой команде, а не на среду выполнения оболочки.
Вы можете увидеть это более наглядно с помощью
$ f=1
$ f=2 echo $f
1
$
Команда echo
выполнялась в среде, в которой для параметра f
было установлено значение 2
, но назначения выполнялись в среде команды (под -конструкция ), а не в среде оболочки, используемой для построения команда.
Только присваивания без команды влияют на среду работающей оболочки, и именно среда оболочки используется для создания команд.
В bash
вы можете использовать расширение фигурной скобки:
mv alex_is_my_best_pa{n,l}.txt
{n,l}
заставляет все слово повторяться дважды, один раз с n
и один раз с l
в этой позиции и в заданном порядке.