Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Голосование

Нужна ли данная ветка

Да
Нет
Затрудняюсь ответить

Автор Тема: Полезные скрипты на bash  (Прочитано 32591 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн qpdb

  • Активист
  • *
  • Сообщений: 619
  • xUbuntu 22.04
    • Просмотр профиля
Re: Полезные скрипты на bash
« Ответ #45 : 31 Марта 2021, 14:33:01 »
А это и есть готовое изделие.
Не знаю, я бы примерно в какой-то раздел связанный с программированием написал… Там, как правило, знающий народ толпится. А тут Вас могут просто не заметить :(

Я, например, «готовое изделие» так понимаю:

Код: (sh) [Выделить]
awk -i inplace '!($0 in a) {a[$0];print}' AnyFile.txt
Эта команда уберёт дубликаты строк без сортировки т.е. после применения структура файла сохранится. При очень больших файлах работает не мгновенно, есть такой недостаток…
Рекомендую ознакомиться с современной трактовкой темы „collective responsibility and the state”, а также темами сопряжёнными с этой… В современных реалиях это может оказаться полезным…

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Re: Полезные скрипты на bash
« Ответ #46 : 03 Августа 2023, 11:20:05 »
        Скрипт запуска разных графических сессий.

 Подготавливает окружение и запускает графические сессии. Примерно, аналог startx.
Расположение скрипта:
$ ls -l /usr/local/bin/avnses*
-rwxr-xr-x 1 root root 25472 Sep 19 08:59 /usr/local/bin/avnsession
Создать десктоп-файл, для запуска сессии:
$ cat /usr/share/wayland-sessions/admi.desktop
[Desktop Entry]
Type=Application
Name=admiGnom on Wayland
Exec=avnsession --version=23gn3 --log --
Это расположение для "wayland". Для "X", положить десктоп-файл в /usr/share/xsessions.

 Примеры запуска.
На экране логина, после выбора пользователя, в правом нижнем углу нажать "шестеренку".
Выбрать "admiGnom on Wayland".
Запускается сессия, которая задана в этом десктоп-файле.
Если в десктоп-файле изменить строку "Exec=..." на:
Exec=avnsession --util=nautilus --
.., то эта программа будет запущена в качестве сессии.
В конфиг груба добавлен параметр ядра "--version=02gn3":
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz --version=02gn3 root=LABEL=so1202 quiet --
Строка "Exec=..." в десктоп-файле:
Exec=avnsession --cmdline --log --
--cmdline - брать параметры из /proc/cmdline.
Запускается сессия в соответствии с параметром "--version=02gn3".
Возможные значения параметра "--version":
02gn1 - запуск "gnome-session" в Ubuntu 10.04.
02gn2 - монтирование оверлеев и запуск "gnome-session" в Ubuntu 10.04.
02gn3 - запуск "gnome-session --session=ubuntu" в Ubuntu 22.04.
02gn4 - монтирование оверлеев и запуск "gnome-session --session=ubuntu" в Ubuntu 22.04.
02kd1 - запуск "startkde".
02kd2 - монтирование оверлеев и запуск "startkde".
02lx1 - запуск "lxsession --session=LXDE --de=LXDE".
02lx2 - монтирование оверлеев и запуск "lxsession --session=LXDE --de=LXDE".
02ma1 - запуск "mate-session".
02ma2 - монтирование оверлеев и запуск "mate-session".
02op1 - запуск "openbox-session".
02op2 - монтирование оверлеев и запуск "openbox-session".
02xf1 - запуск "startxfce4".
02xf2 - монтирование оверлеев и запуск "startxfce4".
--src - каталоги, находящиеся в этом каталоге, монтирует как upperdir, в соответствующие каталоги корня системы.
--dest - каталоги, находящиеся в этом каталоге, монтирует как lowerdir, в соответствующие каталоги корня системы.
На данный момент, параметр "--dest" не используется. В качестве lowerdir используются каталоги в корне системы, жестко заданные в скрипте.
Каталог, указанный в параметре "--src" должен существовать, в нем каталоги, которые нужно монтировать:
$ ls -l /cdrom/opt/avnup
total 16
drwxr-xr-x 2 root root 4096 Sep 17 10:25 etc
drwxr-xr-x 2 root root 4096 Sep 19 08:49 opt
drwxr-xr-x 2 root root 4096 Sep 19 08:49 usr
drwxr-xr-x 2 root root 4096 Sep 19 08:49 var
Результат запуска, содержимое /proc/mounts (только существенные строки):
$ cat /proc/mounts
...
/dev/mmcblk0p2 / ext4 rw,relatime,nobarrier,errors=remount-ro,commit=100 0 0
/dev/mmcblk0p3 /cdrom ext4 rw,relatime,nobarrier,errors=remount-ro,commit=100 0 0
...
none /etc overlay rw,relatime,lowerdir=/etc,upperdir=/cdrom/opt/avnup/etc,workdir=/cdrom/opt/avnup/etcwork 0 0
none /usr overlay rw,relatime,lowerdir=/usr,upperdir=/cdrom/opt/avnup/usr,workdir=/cdrom/opt/avnup/usrwork 0 0
none /var overlay rw,relatime,lowerdir=/var,upperdir=/cdrom/opt/avnup/var,workdir=/cdrom/opt/avnup/varwork 0 0
none /opt overlay rw,relatime,lowerdir=/opt,upperdir=/cdrom/opt/avnup/opt,workdir=/cdrom/opt/avnup/optwork 0 0
...
« Последнее редактирование: 31 Октября 2023, 03:21:45 от andytux »

 

Страница сгенерирована за 0.052 секунд. Запросов: 28.