Выполнение произвольной команды

Я хочу, чтобы мой скрипт bash выполнял случайную команду ниже. Например

[mysterious command] ("command1", "command2", "command3") 

    2 Solutions collect form web for “Выполнение произвольной команды”

    Поместите свои команды в массив.

     cmds=( "cmd1" "cmd2" "cmd3" ) 

    $RANDOM – это случайное число, а ${#cmds[@]} оценивается по длине вашего массива (3 в этом примере). $(( RANDOM % ${#cmds[@]} )) будет случайным числом от 0 до единицы меньше длины массива cmds , то есть 0, 1 или 2.

     i=$(( RANDOM % ${#cmds[@]} )) 

    Выполнение следующего выберет строку из $cmds соответствующую индексу $i и выполнит ее как команду.

     ${cmds[i]} 

    или все за один раз (что выглядит немного ужасно):

     ${cmds[RANDOM % ${#cmds[@]}]} 

    Это должно выполнить то, что вы ищете.

     COMMANDS=("command1" "command2" "command3") $(shuf -n1 -e "${COMMANDS[@]}") 

    Принимает массив и использует shuf для генерации случайной команды.

    UPDATE: Изменена команда shuf на @steeldriver

    Linux и Unix - лучшая ОС в мире.