Можно ли обнаружить пробел в конце аргумента с помощью функции bash? - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть функция bash, которая выглядит следующим образом:

test5() { echo $#; }

Я хочу иметь возможность определять, когда после последнего аргумента есть пробел.

Например, при запуске этого(цитаты показывают для иллюстрации пробелов): "test5 test" производит: 1, в то время как "test5 test " также производит 1.Я хотел бы определить, когда после теста появляется пробел.

Спасибо!

1 Ответ

0 голосов
/ 24 февраля 2019

Не работает из командной строки.Может работать в сценарии:

#/bin/bash
test5(){
    [[ $(sed ${BASH_LINENO[0]}'!d;/ $/!d' <"${BASH_SOURCE[1]}") ]] &&
    echo called with trailing whitespace

    echo $#;
}

test5 5 args no trailing spaces
test5 5 args three trailing spaces   
test5 "1 arg no trailing spaces     "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...