What is iSA? <iSA>! a MVC pattern selection-^MENU
iSystemAdministrastor (iSA) made command-based system operation to be simple, quick and good organize.
What to do if you keep too many shell scripts and hard to find it out to execute or always forgot a complex command?
iSA selection-menu available to organize/collect/execute command in MVC pattern.
It stored your self-defined command or jobs and can be call it by selecting a numeric menu.
Then you will never need any command-based system knowledge to run any complex command.
Get latest source code and suggested install directory "~/bus.d"
Any Bash available system and version 3.2.57 or greater
:-first version that multiple external file can be linked up by using source command.
Any Bash available system and version 4.2.53 or greater
:-first version that hyphen and dot can be named as function and/or variable to allocated memory.
- awk
- dialog
- grep
- head
- sed
- sort
- sleep
- tail
- xargs
curl -s https://raw.githubusercontent.com/loweboard/iSystemAdministrator/master/app.iSA/local.holder.Configure.About.view.install.sh | bash
; restart terminal needed
git clone https://github.com/loweboard/iSystemAdministrator.git ~/bus.d
echo "source ~/bus.d/app.iSA/local.holder.agw.sh" >> ~/.bash_profile
source ~/.bash_profile
3.1 Features
3.2 Run Mode
- Organized by MVC pattern
- Command ui and/or Textual ui and/or Graphic ui menu
- Infinite level submenu by filename format
- Any shell script port to iSA without coding needed (required change filename to iSA format only)
- Any shell like Zsh, Bash, Python, PHP...etc
- Each level of submenu has own model (*.model.sh) and that used for define variable and variable affect the level of submenu and afterwards
| Name | Type | Description |
|---|---|---|
isa-set--debug-on |
boolean | turn on debug mode. |
isa-set--debug-off |
boolean | turn off debug mode. |
isa-set--verbose-on |
boolean | show more information of command execution. |
isa-set--verbose-off |
boolean | show less information of command execution. |
isa-cd |
dialog | change working directory to current iSA path. |
isa-select |
dialog | select different holder of (*.agw.sh). |
isa ([tab]) |
dialog | autocomplete to show up menu and submenu. |
| Name | Description |
|---|---|
local.holder.agw.sh |
system-wide settings saved by iSA. |
local.holder.Configure.About.view.bashrc.sh |
per-user settings saved by the administrator. |
local.sitter.agw.sh |
system-wide settings saved by iSA. |
local.sitter.Configure.About.view.bashrc.sh |
per-user settings saved by the administrator. |
*.Configure.About.view.bashrc.sh |
per-user settings saved by the user. |
| ** Interactive Shell Terminal ** | per-session settings effective once . |
| Name | Description |
|---|---|
1) (self->bel).controller |
call sitter tools menu (local.sitter.agw.sh). |
2) (self->dir).controller |
change working directory menu to previous. |
| Name | Description |
|---|---|
*) (self->edit).view.* |
call vim to edit view file. |
3.2.1 Run as selection menu with command
3.2.2 Run as selection menu with textual
3.2.3 Run as direct-execute with autocomplete
$ isa
$ isa-set--x-on
$ isa
$ isa local.holder.AI.view.patrol
or
$ isa local.([tab])
$ isa local.holder.([tab])
$ isa local.holder.AI.([tab])
$ isa local.holder.AI.view.([tab])
$ isa local.holder.AI.view.patrol
4.1 How to add self-defined shell script?
4.2 How to change submenu name?
4.3 How to create level 2 submenu?
question:
What to do if i got a new standalone script named "chatbot.sh" and i would like to organized by iSA
Would like to put in "AI submenu"
answer:
We look in "AI submenu" at ~/bus.d/app.iSA folder as below
local.holder.AI.controller.sh
local.holder.AI.model.sh
local.holder.AI.view.patrol.sh
It very simple just as below
- rename "chatbot.sh"
$ mv chatbot.sh local.holder.AI.view.chatbot.sh
- Result
local.holder.AI.controller.sh
local.holder.AI.model.sh
local.holder.AI.view.chatbot.sh
local.holder.AI.view.patrol.sh
Then will show in iSA menu and effective immediately
**also you can rename your script to under any level of submenu without any coding needed.
question:
What to do if i want to change "AI submenu" name to "BI"?
anwser:
We look in "AI submenu" at ~/bus.d/app.iSA folder as below
local.holder.AI.controller.sh
local.holder.AI.model.sh
local.holder.AI.view.patrol.sh
It very simple just as below
- Rename domain "local.holder.AI"
$ mv local.holder.AI.controller.sh local.holder.BI.controller.sh
$ mv local.holder.AI.model.sh local.holder.BI.model.sh
$ mv local.holder.AI.view.patrol.sh local.holder.BI.view.patrol.sh
- Result
local.holder.BI.controller.sh
local.holder.BI.model.sh
local.holder.BI.view.patrol.sh
Then will show in iSA menu and effective immediately
question:
What to do if i want to add "chatbot.sh" to "Bot submenu" under "AI submenu"?
anwser:
We look in "AI submenu" at ~/bus.d/app.iSA folder as below
local.holder.AI.controller.sh
local.holder.AI.model.sh
local.holder.AI.view.patrol.sh
It very simple just as below
- Copy a set of controller and model from "AI submenu"
$ cp local.holder.AI.controller.sh local.holder.AI.Bot.controller.sh
$ cp local.holder.AI.model.sh local.holder.AI.Bot.model.sh
- Rename "chatbot.sh"
$ mv chatbot.sh local.holder.AI.Bot.view.chatbot.sh
- Result
local.holder.AI.controller.sh
local.holder.AI.model.sh
local.holder.AI.Bot.controller.sh
local.holder.AI.Bot.model.sh
local.holder.AI.Bot.view.chatbot.sh
local.holder.AI.view.patrol.sh
Then will show in iSA menu and effective immediately
**also same to level 3,4,5 etc.., it support infinite level submenu
5.1 Author
5.2 License
5.3 Web-based implementation
Gnu.org
LOWE/SAAU-LOON MR
- Twitter: @loweboard
- Github: @loweboard
Copyright © 2012-2015, 2026 loweboard.
This project is GNU General Public License v3.0 licensed.




