Оператор If / Else проверяет, указан ли аргумент - PullRequest
0 голосов
/ 15 апреля 2020

Я работаю над упрощением моего 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], все работает нормально, однако, когда я запускаю функцию без имени файла, мне все равно предлагается добавить описание фиксации вместо выхода.

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