a bash script that generates a selection menu from a simple configuration file
It's a bash script that generates a selection menu from a simple configuration file., (*1)
, (*2)
Config:, (*3)
[Cache: Flush && Clean] exec=php bin/magento cache:flush && php bin/magento cache:clean [Setup: Upgrade] exec=php bin/magento setup:upgrade ...
Because it's easier than making an alias or copying and pasting commands., (*4)
You can install via composer with composer require npoole81/mup
, (*5)
Just type 'mup' and you'll be given the default menu which you can customize or override., (*6)
mup
You can use MUP recursively and create sub-menus., (*7)
[Main Item] exec=mup -c sub-menu.conf
and then in sub-menu.conf, (*8)
[Sub Menu Item] exec=date
In the config entry, you can provide a "callback" command which is used after a menu item is completed., (*9)
[Sub Menu Item] exec=date callback=mup
In this example, after executing the command date
, MUP will call itself (with the default menu)., (*10)
If no callback is set, after a menu item is selected MUP will exit., (*11)
By default MUP looks for $EXECUTABLE_NAME-menu.conf in the same directory as the bash file. That is, if you rename 'mup' to 'foobar' it will look for 'foobar-menu.conf'., (*12)
You can pass the conf parameter (-c|--conf) to MUP to specify the config file to use., (*13)
mup -c /home/$user/configFile.conf
, (*14)
You can pass the execute parameter (-e|--execute) to MUP to specify a series of selections to run sequentially., (*15)
mup -e 1,2,3
, (*16)
NOTE: This method does not execute callbacks., (*17)
MUP will still confirm the commands it's about to run., (*18)
You can pass the no-interaction parameter (-n|--no-interaction) along with --execute to not require confirmation before running commands., (*19)
mup -e 1,2,3 -n
, (*20)
MUP will look for the file .mup/mup-menu.conf relative to the current working directory and by default use it for the config file., (*21)
You can bypass this by passing the config (-c|--config) parameter the value 'DEFAULT'., (*22)
mup -c default
, (*23)