Вы использовали одинарные кавычки. Bash допускает два разных механизма цитирования:
Одинарная кавычка: Все, что заключено, является буквальным. Двойные кавычки: интерпретировать $ и \, передать остаток как литерал.
Ваша bash переменная окружения $ new_pswrd находится в одинарных кавычках и НЕ будет расширена, но будет передана как знак доллара и буквы new_pswrd .
Есть два способа достижения вашей цели:
Использование одинарных кавычек: 'Завершить одинарную кавычку' "и поместить переменную $ в двойные кавычки" ", а bash объединит все строк "потому что им не хватает пробела между" "открывающими и закрывающими кавычками" _or_lack_white_space_entirely.
Использование двойных кавычек: "Бэксл sh будет интерпретироваться, когда внутри \" двойных кавычек \ "и backsla sh приведет к тому, что следующий символ, даже если это двойная кавычка, будет пропущен без закрытия литерала \ ". Знаки доллара будут расширены, и $ shell_variable будет заменен его значением, а \ $ shell_variable - нет. "