LINUX.ORG.RU
решено ФорумAdmin

bash скрипты

 , ,


0

3

Всем привет! Недавно установил arch на свой ноутбук и потратил много времени над его настройкой. Чтобы сэконмить время в следуйщий раз - решил написать скрипт для её автоматизации. Можете посоветовать литературу для этого, желательно с задачами



Последнее исправление: iskander9908 (всего исправлений: 1)

Сделать backup настроек (чаще $HOME). Или разместить на github (Dotfiles).

p.s. Понятна идея автоматизации, но раз система уже настроена (пОтом и кровью), то надо правильно распорядится тем, что уже в наличии. :)

krasnh ★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от krasnh

Необходимые мне конфиги и простой скрипт с настройкой есть на github. Сейчас я хочу его доработать, но не хватает знаний. Даже не знаю как написать скрипт для уведомлений.

iskander9908
() автор топика

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

Никаких башпортянок. То что тебе нужно, называется пакетный менеджер nix. Можно сразу взять дистрибутив на его основе NixOs.

Nix как раз и предназначен для воссоздания окружения на основе декларативного описания. А твои императивные баш партянки это прошлое тысячелетие.

На худой конец возьми ansible, если nix не осилишь. Но НИКАКИХ башпортянок, я тебя заклинаю.

ox55ff ★★★★★
()
Ответ на: комментарий от dmitry237

Так и сделал. Толькл в этот раз я перешёл с DE на Sway и для настройки уведомлений (уровени изменений: батареи, громкости и яркости) нужно написать скрипты. В интернете есть похожие примеры, но хочу научиться писать их самостоятельно, чтобы выполнять необходимые задачи

iskander9908
() автор топика

Наверное я слишком абстрактно выразился.
Раньше я сидел на Ubuntu и много работать в терминале мне не приходилось. Какое-то время меня всё устраивало, однако потом понял, что совсем не знаю как устроена система и решил попробовать Arch. Ведь у него очент подробная wiki. Долго шерстил интернет, чтобы всё настроить, но оно того стоиоло. В принципе система теперь - рабочая. Осталось настроить уведомления (уровни батареи, яркости и звука). Я нашёл в вики подобный пример:

#!/bin/bash
# changeVolume

# Arbitrary but unique message tag
msgTag="myvolume"

# Change the volume using alsa(might differ if you use pulseaudio)
amixer -c 0 set Master "$@" > /dev/null

# Query amixer for the current volume and whether or not the speaker is muted
volume="$(amixer -c 0 get Master | tail -1 | awk '{print $4}' | sed 's/[^0-9]*//g')"
mute="$(amixer -c 0 get Master | tail -1 | awk '{print $6}' | sed 's/[^a-z]*//g')"
if [[ $volume == 0 || "$mute" == "off" ]]; then
    # Show the sound muted notification
    dunstify -a "changeVolume" -u low -i audio-volume-muted -h string:x-dunst-stack-tag:$msgTag "Volume muted" 
else
    # Show the volume notification
    dunstify -a "changeVolume" -u low -i audio-volume-high -h string:x-dunst-stack-tag:$msgTag \
    -h int:value:"$volume" "Volume: ${volume}%"
fi

# Play the volume changed sound
canberra-gtk-play -i audio-volume-change -d "changeVolume"
Теперь нужно разобраться как написать подобные скрипты для моей системы. Поэтому я ищу литературу по bash, чтобы попрактивоаться в написании скриптов и написать их для моей системы.
P.S - смог создать скрипт для настройки системы, правла его надо доработать (здесь нету swap файла и aur helper)
#!/bin/bash

#Gen rec packs
sudo pacman -S ufw rsync reflector wayland xorg-xwayland sway swaylock swayidle swaybg udisks2 brightnessctl noto-fonts otf-font-awesome waybar foot dunst man-db transmission-qt polkit wofi grim slurp xdg-user-dirs tlp pipewire lib32-pipewire pipewire-docs wireplumber pipewire-audio pipewire-alsa pipewire-pulse pipewire-jack lib32-pipewire-jack pavucontrol

#Drivers
sudo pacman -S mesa lib32-mesa vulkan-radeon lib32-vulkan-radeon libva-mesa-driver lib32-libva-mesa-driver mesa-vdpau lib32-mesa-vdpau mesa-utils

#Security
sudo systemctl enable ufw.service
sudo ufw default deny
sudo ufw allow from 192.168.0.0/24
sudo ufw allow Transmission
sudo ufw limit ssh
sudo ufw enable

#Mirrors
sudo reflector --latest 5 --sort rate --save /etc/pacman.d/mirrorlist

#Home dirs
xdg-user-dirs-update

#Power managment
sudo systemctl enable tlp.service

#Sway
cp -r ~/arch_post_install/sway ~/.config/
cp -r /etc/xdg/waybar ~/.config/

#Another apps
sudo pacman -S firefox telegram-desktop vlc spotify-launcher thunar imv xarchiver catfish featherpad libreoffice-still atril qalculate-gtk
.

iskander9908
() автор топика
Ответ на: комментарий от iskander9908

Раньше я сидел на Ubuntu и

много работать в терминале мне не приходилось.

Абсолютно ортогональные вещи. Новичкам мозги запудрЯют красноглазые идиоты.

я пробовал дистры которых и нет уже, а в начале вообще долго сидел на Генте.

Давно уже на Убунте из чисто практических соображений, на вопли даунов плевать (очевидно, что с моим опытом от бубунты мне нужны не установщики дров и прочие «магазины приложений», этот шлак наоборот только мешается).
Терминал открыт почти всегда. Ибо нужОн для удобства, а не ради чего-то там такого…

mrjaggers
()