Как заходить из SSH, из скрипта Bash?

Можно отменить регулярное выражение, чтобы найти первый недопустимый символ

Текущий regex

$ str="in below script file I am checking if a given string has any invalid characters or not."
$ regex='^[]0-9a-zA-Z,!^`@{}=().;/~_|[-]+$'
$ [[ $str =~ $regex ]] && echo pass || echo fail
fail

Сбой на места. Свести на нет регекс: удалить якоря линии и конечный квантификатор + ; отрицаем выражение скобки - мы имеем набор из не действительных символов:

regex='[^]0-9a-zA-Z,!^`@{}=().;/~_|[-]'

Тогда

$ [[ $str =~ $regex ]] && echo "fail: found '${BASH_REMATCH[0]}'"
fail: found ' '
-121--155507-

Попробуйте sudo-s . Это должно исправить.

-121--150181-

Стандарт отсутствует; каждое приложение будет иметь свой собственный файл конфигурации, который может или не может поддерживать includes. Для приложений, которые не поддерживают включает, можно (cat headerstuff; cat somedir/foo *; cat footerstuff) > mainconfig для создания файла конфигурации из номера люкс файлов или использования эквивалентной поддержки в программном обеспечении управления конфигурацией для сборки файла конфигурации.

1
17.10.2018, 19:16
1 ответ

Если вы хотите выйти из системы после успешного завершения /path/to/shell-script.sh, используйте:

/path/to/shell-script.sh && logout

Более грубый способ сделать это — заставить скрипт убить родителя:

kill -HUP "$PPID"

(PPID — это переменная, которая устанавливается оболочкой bash для одного ).

3
27.01.2020, 23:23

Теги

Похожие вопросы