summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author135e2 <[email protected]>2022-01-15 19:49:53 +0800
committer135e2 <[email protected]>2022-01-15 19:49:53 +0800
commit9c2f3b187ffc65ed97948ec2e35a9829a16de8c9 (patch)
tree8ac1e4acad48ef6bf0ed7f1f69b8093be148ba4e
downloaddotfiles-9c2f3b187ffc65ed97948ec2e35a9829a16de8c9.tar.gz
dotfiles-9c2f3b187ffc65ed97948ec2e35a9829a16de8c9.tar.bz2
dotfiles-9c2f3b187ffc65ed97948ec2e35a9829a16de8c9.zip
apt-up: new, v1.0
A tiny utility for debian-based distros.
-rwxr-xr-xscripts/apt-up53
1 files changed, 53 insertions, 0 deletions
diff --git a/scripts/apt-up b/scripts/apt-up
new file mode 100755
index 0000000..e380b51
--- /dev/null
+++ b/scripts/apt-up
@@ -0,0 +1,53 @@
+#!/usr/bin/env bash
+
+upgrade_options=''
+ARGS=$(getopt -a -o hy --long opts:,help -- "$@")
+
+update_database() {
+ echo 'Updating database...'
+ apt update
+}
+
+upgrade_packages() {
+ echo 'Upgrading packages...'
+ apt upgrade $upgrade_options
+}
+
+help_page() {
+ echo "Usage:"
+ echo "apt-up [-y] [-h] [--opts $upgrade_options]"
+ echo "Description:"
+ echo -e "\t-y automates the upgrade progress."
+ echo -e "\t-h diaplays the help page of apt-up."
+ echo -e '\t--opts transports $upgrade_options to apt.'
+ exit -1
+}
+
+update() {
+ update_database
+ upgrade_packages
+ exit 0
+}
+
+eval set -- "${ARGS}"
+
+while :; do
+ case $1 in
+ -y | --yes)
+ upgrade_options+='-y '
+ update
+ ;;
+ -h | --help)
+ help_page
+ ;;
+ *)
+ update
+ ;;
+ --opts)
+ upgrade_options+=$2
+ update
+ shift
+ ;;
+ esac
+ shift
+done