Šta je novo?

Mala pomoc oko sh skripte za Linuks

Matrix69

Poštovan
Učlanjen(a)
14.07.2019
Poruke
289
Poena
95
Koristim konkretno Linuks Mint i uz pomoc,malo literature sam napravio prostu sh skriptu za azuriranje OS-a.Skripta je izvrsna kopiram je u /usr/bin/ ,i pokrecem iz terminala.
Evo kako ide:
#! /bin/bash

sudo apt update
sudo apt clean && sudo apt autoclean
sudo apt upgrade
sudo apt dist-upgrade
sudo apt remove
sudo apt autoremove
sudo snap refresh --list
flatpak update

To je skripta prosta ali caskom azurira Mint zanima me da li je,il nije izvodljivo dodati po izvrsenju ispise recimo "Uspesno".Pitam jer ja o programiranju blage veze nemam,i sa ovim sam se malo mucio te kako da bude izvrsna pa gde da je smestim i slicno_Ona sada ovako kakva je radi bez greske,ali rekoh da pitam...netrazim gotovu skriptu makar smernice kako da dodam i to unapred hvala,na bilo kakvoj pomoci :)
 
Za ovo ti je idealan neki AI, sve ovo sto si napisao ovde, daj "njemu". Gemini, chatgpt ili sta god volis. :)
 
Za ovo ti je idealan neki AI, sve ovo sto si napisao ovde, daj "njemu". Gemini, chatgpt ili sta god volis. :)
Hvala na pomoci @Qiza imam na motoroli moto g32 intaliran Gemini,jeli mu to napisem ili ispricam ako razume Srpski :unsure:
 
A mozes i sa racunara da se dopisujes sa njim :)

 
Dok si u Mintu, odes na npr Deepseek i odradis sta trebas, copy/paste i to je to.
 
Poslednja izmena:
#! /bin/bash

set -e

echo "Pokrenuto azuriranje sistema..."

sudo apt update
sudo apt clean && sudo apt autoclean
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt remove -y
sudo apt autoremove -y
sudo snap refresh --list
flatpak update -y

echo "------------------------------------------------------------------------------"
echo "USPESNO AZURIRANJE SISTEMA JE ZAVRSENO"
echo "------------------------------------------------------------------------------"
Set -e na pocetku skripte prekida skriptu ako neki korak ne uspe, a -y je dodato u koracima gde apt moze da automatski prihvati podrazumevanu vrednost bez potvrde. Ako svi koraci prodju skripta ispisuje potvrdu, ako ne, prekida se kao sto sam vec napisao.
 
Set -e na pocetku skripte prekida skriptu ako neki korak ne uspe, a -y je dodato u koracima gde apt moze da automatski prihvati podrazumevanu vrednost bez potvrde. Ako svi koraci prodju skripta ispisuje potvrdu, ako ne, prekida se kao sto sam vec napisao.
Hvala ti @delboy zaista beskrajno sad cu bas da je ucinim izvrsnom,staru obrisem a tu ubacim ovu,i staru sam jedva skrpio.Sto se tice Linuksa kao OS-a znam dovoljno da ga odrzavam sam,ali programirnje e tu nemam blage veze.Nije ni cudo iako sam u podesavanjima sakrio godine ja imam 55 ili 56,tacnije ja sam 1969godiste,u vreme kada sam se ja skolovao smerovi za programiranje prakticno nisu ni postojali na zalost.A volim sve oko IT kad vidim bilo Desktop i Laptop Android,odmah zagledam sta i kako je.Bavio se i rutovanjem androida nekada jednostavno volim gedzete i OS-ove imao od Win XP SP3 do W10,sad trenutno dual boot W10 IoT Enterprise LTSC bese 21H2 podrzan do 2032,i Linux Mint Mate Desktop okruzenje.W10 stoji jer jos uvek na zalost za Linuks ne postoji prava zamena,za uglavnom bazicno video editovanje.Tamo u W10 imam SonyVegas Pro skinut sa nekog Ruskog sajta,zamena za takvo sta na zalost nema :)
 
Ako je za kuću koristi Ansible i traži od AI da ti napiše playbook. Ili neki sličan alat.

Za to ispisivanje poruke koristiš echo.
 
Koji crni Ansible, čovek ne zna još ni da napravi običan ispis u terminalu :)
 
A i sta ce ti ansible za obican update, ansible je ako to treba na 100 masina.
 
Koristim konkretno Linuks Mint i uz pomoc,malo literature sam napravio prostu sh skriptu za azuriranje OS-a.Skripta je izvrsna kopiram je u /usr/bin/ ,i pokrecem iz terminala.
Evo kako ide:
#! /bin/bash

sudo apt update
sudo apt clean && sudo apt autoclean
sudo apt upgrade
sudo apt dist-upgrade
sudo apt remove
sudo apt autoremove
sudo snap refresh --list
flatpak update

To je skripta prosta ali caskom azurira Mint zanima me da li je,il nije izvodljivo dodati po izvrsenju ispise recimo "Uspesno".Pitam jer ja o programiranju blage veze nemam,i sa ovim sam se malo mucio te kako da bude izvrsna pa gde da je smestim i slicno_Ona sada ovako kakva je radi bez greske,ali rekoh da pitam...netrazim gotovu skriptu makar smernice kako da dodam i to unapred hvala,na bilo kakvoj pomoci :)

#!/bin/bash

if sudo apt update && \
sudo apt clean && sudo apt autoclean && \
sudo apt upgrade && \
sudo apt dist-upgrade && \
sudo apt remove && \
sudo apt autoremove && \
sudo snap refresh --list && \
flatpak update
then
echo "✔ Ažuriranje je uspešno završeno!"
else
echo "✖ Došlo je do greške tokom ažuriranja."
fi

v2:

#!/bin/bash

GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m' # No Color

start_time=$(date +%s)

if sudo apt update && \
sudo apt clean && sudo apt autoclean && \
sudo apt upgrade -y && \
sudo apt dist-upgrade -y && \
sudo apt remove -y && \
sudo apt autoremove -y && \
sudo snap refresh --list && \
flatpak update -y
then
end_time=$(date +%s)
duration=$((end_time - start_time))
echo -e "${GREEN}✔ Ažuriranje je uspešno završeno za ${duration} sekundi.${NC}"
else
echo -e "${RED}✖ Došlo je do greške tokom ažuriranja.${NC}"
fi
 
Fino :) Fali samo tabelarni format rezultata.

Bash:
nano install_winupdate.sh

Bash:
#!/bin/bash

# Prompt for script name or use default
read -p "Enter the command name for your system maintenance script (default: winupdate): " USER_INPUT
SCRIPT_BASE_NAME=${USER_INPUT:-winupdate}
SCRIPT_FILE_NAME="${SCRIPT_BASE_NAME}.sh"
INSTALL_PATH="/usr/local/bin/${SCRIPT_BASE_NAME}"

echo "[+] Creating the TUI script: $SCRIPT_FILE_NAME"

cat << 'EOF_SCRIPT' > "$SCRIPT_FILE_NAME"
#!/bin/bash

set -e

run_command() {
    eval "$1"
    if [ $? -eq 0 ]; then
        whiptail --title "Success" --msgbox "Operation succeeded!" 8 40
        return 0
    else
        whiptail --title "Failure" --msgbox "Operation failed." 8 40
        return 1
    fi
}

CHOICE=$(whiptail --title "System Maintenance" --menu "Select an action:" 20 60 10 \
"1" "Update package list (apt update)" \
"2" "Clean and autoclean APT cache" \
"3" "Upgrade installed packages" \
"4" "Full distribution upgrade" \
"5" "Remove unused packages" \
"6" "List available Snap updates" \
"7" "Update Flatpak packages" \
"8" "Run ALL actions in sequence" \
3>&1 1>&2 2>&3)

EXIT_STATUS=$?

if [ $EXIT_STATUS -ne 0 ]; then
    echo "User cancelled."
    exit 1
fi

case $CHOICE in
    "1")
        run_command "sudo apt update"
        ;;
    "2")
        run_command "sudo apt clean && sudo apt autoclean"
        ;;
    "3")
        run_command "sudo apt upgrade -y"
        ;;
    "4")
        run_command "sudo apt dist-upgrade -y"
        ;;
    "5")
        run_command "sudo apt remove -y && sudo apt autoremove -y"
        ;;
    "6")
        run_command "sudo snap refresh --list"
        ;;
    "7")
        run_command "flatpak update -y"
        ;;
    "8")
        run_command "sudo apt update && sudo apt clean && sudo apt autoclean && sudo apt upgrade -y && sudo apt dist-upgrade -y && sudo apt remove -y && sudo apt autoremove -y && sudo snap refresh --list && flatpak update -y"
        ;;
    *)
        whiptail --msgbox "Invalid choice." 8 40
        ;;
esac
EOF_SCRIPT

echo "[+] Making the script executable..."
chmod +x "$SCRIPT_FILE_NAME"

echo "[+] Installing to $INSTALL_PATH (requires sudo)..."
sudo mv "$SCRIPT_FILE_NAME" "$INSTALL_PATH"
sudo chmod +x "$INSTALL_PATH"

echo "[✓] Done! Run the tool using: $SCRIPT_BASE_NAME"
 
Tacno @Space Beer podrzan je Flatpak moze i snap,ali mora prvo ovo
sudo rm /etc/apt/preferences.d/nosnap.pref
apt update
apt install snapd
Tu su se "razisli" Ubuntu i Mint na primer ja instaliram Chrome samo prvi put,odem na https://www.google.com/chrome/ i tu skinem deb amd64,zatim kliknem na njega i on se sam instalira+napravi mi PPA sa kljucem i uvek imam azuran Chrome.No u Ubuntu nemoze mora,jer Ubuntu sve gura Snapd,zato su ovi iz Minta sami odrzavaju i aziraju i FF :)
 
Pa mozes ti na mintu da instaliras snap,samo se iz apt izbrise nosnap.conf bese. Nije nesto strasno.
 
Što bi sebi želeo to zlo... inače posle svih ovih godina kako su flatpak I snap zaživeli o njima sve najgore imam da kažem. Isto važi i a nix i sva sr... tog tipa.
 
Za bash scripte su ti vec dali dobar savet, chatgpt ili deepseek (mada kolege kazu da je free verzija deepseeka cesto nedostupna) i eksperimentisi. Ne znam odakle ucis, ali ova dva online tutoriala su fina, prvi za pocetnike, drugi za napredne korisnike


@delboy Odem malopre u Google Crome pa se ulogujem,u Gemini web verzija (pokusao u FF nemoze) i pitam ga tj otipkam hocu da mi linux skripta ispisuje pojedine delove u boji.Konkretno sam mislio na skritu od tebe jer,nju i koristim.On kao iz topa moze i napisa jedmu liniju kao pojasnjene;na to ja napisem evo ti skripta napisi mi je sa zeljenim modifikacijama.Za cirka 2-3 sekunde sam dobio ovo
#!/bin/bash

# Prekid izvršavanja skripte ako neka komanda ne uspe
set -e

# ANSI escape kodovi za boje
NC='\033[0m' # Bez boje (reset)
GREEN='\033[0;32m' # Zelena boja
LIME='\033[1;32m' # Svetlo zelena (bold zelena)

# Poruka o početku ažuriranja u zelenoj boji
echo -e "${GREEN}Pokrenuto azuriranje sistema...${NC}"

# Komande za ažuriranje sistema
sudo apt update
sudo apt clean && sudo apt autoclean
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt remove -y
sudo apt autoremove -y
sudo snap refresh --list
flatpak update -y

# Poruka o uspešnom ažuriranju u svetlo zelenoj (lime) boji
echo -e "${LIME}------------------------------------------------------------------------------${NC}"
echo -e "${LIME}USPESNO AZURIRANJE SISTEMA JE ZAVRSENO${NC}"
echo -e "${LIME}------------------------------------------------------------------------------${NC}"

Majka mu stara ovo sacuvao u Leafpad tekst editor,da imam.A trazio mu da ono gore pokretane bude u zelenoj boji,a ovo sa linijama da je uspelo bude u lime boji.Posto o programiranju blagog pojma nemam,jeli stvarno ovo ono pravo sto sam hteo il me Gemini zeza :unsure:
 
Nazad
Vrh Dno