Как передать переменную read bash в linux и отправить ее как сообщение в git commit? - PullRequest
1 голос
/ 12 июля 2019

Я хотел бы автоматизировать функцию git commit и иметь возможность читать сообщения в bash следующим образом:

echo -n "Enter message and press [ENTER]: " 
read mess

cd /my/dir
git add *
git commit -m "$(mess)"

Однако в bash мне сообщают, что в line 6: mess: command not found. Что-то я делаю не так?

1 Ответ

4 голосов
/ 12 июля 2019

В вашем скрипте $(mess) обозначает субоболочку, которая выполняет команду mess;которая не является настоящей командой.

Замените скобки скобками.

echo -n "Enter message and press [ENTER]: " 
read mess

cd /my/dir
git add *
git commit -m "${mess}"

Обновление

Согласно Руководству по bash , при подстановке команды говорится следующее:

Подстановка команды позволяет выводу команды заменить имя команды.Существует две формы: $ (команда) или `команда` Bash выполняет раскрытие, выполняя команду и заменяя подстановку команды стандартным выводом команды, при этом удаляются все завершающие символы новой строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...