#!/usr/bin/env bash ### ### arching-kaos-tools ### Tools to interact and build an Arching Kaos Infochain ### Copyright (C) 2021 - 2025 kaotisk ### ### This program is free software: you can redistribute it and/or modify ### it under the terms of the GNU General Public License as published by ### the Free Software Foundation, either version 3 of the License, or ### (at your option) any later version. ### ### This program is distributed in the hope that it will be useful, ### but WITHOUT ANY WARRANTY; without even the implied warranty of ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ### GNU General Public License for more details. ### ### You should have received a copy of the GNU General Public License ### along with this program. If not, see . ### source $AK_LIBDIR/_ak_log function _ak_shell_help(){ _ak_log_info "# AK shell commands:" _ak_log_info "# /q, /quit, /exit to exit from AKSH" _ak_log_info "# /help for this help message" _ak_log_info "# /logfollow to switch to log output" _ak_log_info "# /commands to print available commands" _ak_log_info "# " _ak_log_info "# Hitting CTRL+C will exit the shell" _ak_log_info "# Hitting CTRL+D or ENTER will execute written input" } function _ak_shell(){ _ak_shell_help while true do echo -n "> " read input_command case "${input_command}" in \/q|\/quit|\/e|\/exit) exit;; \/logfollow) ak log -f exit;; "log -f"|"log --follow") _ak_log_error 'You can run `ak log -f|--follow` only outside of AKSH' _ak_log_error 'If though, you want to follow logs but don'"'"'t care exiting the shell' _ak_log_error 'you can use /logfollow instead.' ;; \/help) _ak_shell_help ;; \/commands) ak ;; \/*) _ak_log_error "Not an AKSH command" ;; *) ak ${input_command} ;; esac done }