From f530d93148053a2378886ffa4360f1e89e7a94a9 Mon Sep 17 00:00:00 2001 From: pvincent Date: Mon, 10 Aug 2026 20:16:36 +0400 Subject: [PATCH] miaou-bash --- tools/miaou-create | 4 +-- tools/miaou-login | 69 +++++++++++++++++++++++----------------------- 2 files changed, 35 insertions(+), 38 deletions(-) diff --git a/tools/miaou-create b/tools/miaou-create index e90714b..beeb57a 100755 --- a/tools/miaou-create +++ b/tools/miaou-create @@ -117,7 +117,7 @@ function refresh_template { apt-get update apt-get dist-upgrade -y apt-get install -y curl - /opt/miaou-bash/install.sh 2>/dev/null + /opt/miaou-bash/install.sh EOF incus --project "$PROJECT_SANDBOX" stop "$TEMPLATE_SANDBOX" @@ -199,8 +199,6 @@ function create { # MAIN -set -Eueo pipefail - parse_options "$@" assert_not_sandboxing prepare_template_for_quick_creation diff --git a/tools/miaou-login b/tools/miaou-login index 4f39fe8..e72aff0 100755 --- a/tools/miaou-login +++ b/tools/miaou-login @@ -1,61 +1,60 @@ -#!/usr/bin/env bash +#!/usr/bin/env miaou-bash # CONSTANTS -BASEDIR=$(dirname "$0") CONTAINER= USER= # FUNCTIONS function usage { - echo "$(basename "$0") [--user|-u USER]" + echo "$(basename "$0") [--user|-u USER]" } function parse_options { - while [[ $# -gt 0 ]]; do - case "$1" in - --help | -h) - usage && exit 0 - ;; - --user | -u) - shift 1 - [[ -z ${1:-} ]] && >&2 echo 'ERROR: user expected!' && usage && exit 5 - USER="$1" - ;; - *) - if [[ -z $CONTAINER ]]; then - CONTAINER=$1 - else - echo >&2 "Unknown option: $1" && usage && exit 2 - fi - ;; - esac - - shift 1 # Move to the next argument - done - [[ -n $CONTAINER ]] || (usage && exit 1) + while [[ $# -gt 0 ]]; do + case "$1" in + --help | -h) + usage && exit 0 + ;; + --user | -u) + shift 1 + [[ -z ${1:-} ]] && >&2 echo 'ERROR: user expected!' && usage && exit 5 + USER="$1" + ;; + *) + if [[ -z $CONTAINER ]]; then + CONTAINER=$1 + else + echo >&2 "Unknown option: $1" && usage && exit 2 + fi + ;; + esac + + shift 1 # Move to the next argument + done + [[ -n $CONTAINER ]] || (usage && exit 1) } function incus_su { - incus exec "$CONTAINER" -- su - $1 + incus exec "$CONTAINER" -- su - "$1" } function incus_user_exists { - incus exec "$CONTAINER" -- id $1 &> /dev/null + incus exec "$CONTAINER" -- id "$1" &>/dev/null } function login { - if [[ -n $USER ]]; then - incus_su $USER - else - local current=$(whoami) - incus_user_exists $current && incus_su $current || incus_su root - fi + if [[ -n $USER ]]; then + incus_su "$USER" + else + local current + current=$(whoami) + incus_user_exists "$current" && incus_su "$current" || incus_su root + fi } # MAIN -set -Eue -parse_options $* +parse_options "$@" login