Я работаю над упрощением моего Git рабочего процесса, у меня есть функция оболочки, которая добавляет, фиксирует и отправляет файл, когда ему присваивается имя файла. Однако я пытаюсь добавить оператор if / else в функцию, чтобы проверить, предоставляется ли аргумент имени файла вместе с вызовом функции. Вот мой код:
#!/bin/bash
sendit (){
local filename="$1"
if [[ -z "$filename" ]]; then
echo "No filename supplied."
return 1
else
git add "$filename"
read -p "Commit description: " desc
git commit -m "$desc"
git push origin master
fi
}
Когда я запускаю sendit [filename]
, все работает нормально, однако, когда я запускаю функцию без имени файла, мне все равно предлагается добавить описание фиксации вместо выхода.