Следующий синтаксис предназначен для оценки кода в подоболочке и захвата вывода:
$(code here)
Принимая во внимание, что следующий синтаксис (ы) фиксирует некоторые способов разыменования позиционных параметров (подробнее см. sh(1)
):
$1
${1}
Таким образом, вы видите неправильные результаты, потому что вы пытались запустить и зафиксировать вывод команд 1
и 2
, которых, по всей вероятности, не существует.
Переключиться на один из вторых синтаксисов. И предпочитаю ставить в кавычки оба расширения.