Thoughts on my update script? Any suggestions for improvement?

submitted 3 months ago by superkret@feddit.org

#!/usr/bin/env bash
echo -e '\nReading the news...\n'
        yay -Pw
echo -e '\nUpdating...\n'
        sudo pacman -Syu
echo -e '\nLooking for orphaned packages...\n'
        yay -Qtd
echo -e '\nLooking for obsolete packages...\n'
        url='https://aur.archlinux.org/rpc?v=5&'
        pacman -Qmq | sort >| /tmp/pkgs
        curl -s "${url}type=info$(printf '&arg[]=%s' $(cat /tmp/pkgs))" \
                | jq -r '.results[]|.Name' | sort | comm -13 - /tmp/pkgs
echo -e '\nLooking for changed config files...\n'
        sudo find /etc -name *.pac*
echo -e '\nDone.\n'
36

Log in to comment

6 Comments

3 months ago

I’ve just been using github.com/topgrade-rs/topgrade

3 months ago , edited 3 months ago

Love this. One of those extremely satisfying terminal commands to pointlessly run over and over, so much so that I added it to my crontab so I don’t do that 😭

3 months ago

Switch to printf.

printf “%s\n” “text goes here”

Your echo statements should be put into a function so you don’t have \n littered throughout your script.

Your url var could be improved. Why have it? If you really want it, why not put type=info in the var?

pacman-contrib has pacdiff and paccache I like to run at the end of my update scripts

3 months ago

Nice, I have a similar one. Things I also do there:

  • flatpak update
  • tldr -u to update tldr pages
  • Check if reboot needed after kernel update, and display a notification about it