Вам понадобится пусковая установка (файл .desktop). Вам нужны следующие параметры:
Exec=gksudo -k -u root /path/toyourscript.sh
Говорит системе, что нужно выполнить и что это должно быть выполнено от имени root. Вы также можете просто ввести здесь свой сценарий вместо указания пути к его файлу, но это... грязно. Terminal=true
Заставляет его открываться в терминалеТакже, вероятно, вам следует использовать dist-upgrade
, потому что он более стабилен. Вот как выглядел мой .desktop, когда я делал что-то подобное:
[Desktop Entry]
Encoding=UTF-8
Name=Updater
Comment=short script
Type=Application
Exec=gksudo -k -u root /home/andrzej/Documents/update.sh
Terminal=true
Categories=
upgrade
и dist-upgrade
также должны требовать подтверждения. Когда вы запускаете их в терминале, вы можете просто ввести y и нажать enter, но если вы запустите их с .desktop, они закроются при подтверждении, поэтому вам нужно добавить опцию -y
, например, так: sudo apt-get dist-upgrade -y
Учитывая, что вопрос касается именно регулярного выражения:
grep -Eo '\s(\w+).$' file
UAT01
Test04
Dev02
Test0
Пояснение:
`\s` matches any whitespace character.
`(\w+)` is the first Capturing Group
`\w+` matches any word character and it is equal to [a-zA-Z0-9_]
`+ ` Quantifier — Matches between one and unlimited times, as many times as possible.
`.` matches any character (except for line terminators)
`$` asserts position at the end of the string, or before the line terminator right at the end of the string.
Последние строки можно извлечь намного проще, используя cut
илиawk
cut -d' ' -f 7 file
awk '{print $7}' file