Skip to content

Repository files navigation

© Matteo Corti, 2018-2026

     

Command line automatic updates on macOS

Description

Updates a macOS system. Following software packages are analyzed and automatically updated

  • Apple products
  • Apple Store apps (requires mas)
  • Microsoft products
  • Adobe products
  • Products supported by MacUpdater (requires MacUpdater with a professional license)
  • Perlbrew and installed CPAN modules
  • Ruby dependencies
  • Homebrew and installed packages
  • MacPorts and installed ports
  • Steam games

Usage

Usage: update.sh [OPTIONS]

Options:
      --adobe            update Adobe products
      --apple            update Apple products
      --brew             update Homebrew packages
   -c,--clear            clear the terminal screen before updating
      --emacs            update emacs packages
   -h,--help,-?          this help message
      --macupdater       update with MacUpdater
      --mas              update Apple Store applications
      --msupdate         update Microsoft products
   -n,--name             show machine name
      --no-adobe         do not update Adobe products
      --no-apple         do not update Apple products
      --no-brew          do not update Homebrew packages
      --no-emacs         do not update emacs packages
      --no-macupdater    do not update with MacUpdater
      --no-mas           do not update Apple Store applications
      --no-msupdate      do not update Microsoft products
      --no-perl          do not update Perl and CPAN modules with Perlbrew
      --no-ruby          do not update ruby
      --no-steam         do not update steam
      --perl             update Perl and CPAN modules with Perlbrew
   -q,--quiet            minimal output
      --ruby             update ruby
      --steam            update Steam
   -v,--verbose          verbose output

Report bugs to https://github.com/matteocorti/update.sh/issues

Configuration

The following environment variables can be used to control each update:

If set forces the update:

ADOBE
APPLE
BREW
EMACS
MAC_UPDATER
MAS
MSUPDATE
PERL
RUBY
STEAM

If set skips the update:

NO_ADOBE
NO_APPLE
NO_BREW
NO_EMACS
NO_MAC_UPDATER
NO_MAS
NO_MSUPDATE
NO_PERL
NO_RUBY
NO_STEAM

Each configuration can also be stored in a configuration file ${HOME}/.updates.sh.rc

For example:

NO_MSUPDATE=1
NO_RUBY=1

Bugs

Report bugs to https://github.com/matteocorti/update.sh/issues

About

Updates Apple, Apple Store, Microsoft, Perlbrew, Homebrew and MacPorts

Topics

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages