Динамично создавая команду в ударе

Хотя это не отвечает на Ваш вопрос точно, вот один способ генерировать каждую перестановку букв от многих строк той же длины: например, если Ваши слова были "кофе", "joomla" и "Moodle", можно ожидать вывод как "coodle", "joodee", "joffle", и т.д.

В основном, количество комбинаций (количество слов) к питанию (количество букв на слово). Так, выберите случайное число между 0 и количество комбинаций - 1, преобразуйте то число для базирования (количество слов), затем используйте каждую цифру того числа как индикатор для который слово взять следующую букву от.

, например: в вышеупомянутом примере. 3 слова, 6 букв = 729 комбинаций. Выберите случайное число: 465. Преобразуйте в основу 3: 122020. Возьмите первую букву от Word 1, 2-го от Word 2, 3-го от Word 2, 4-го от Word 0..., и Вы добираетесь... "joofle".

, Если Вы хотели все перестановки, просто цикл от 0 до 728. Конечно, если бы Вы просто выбираете одно случайное значение, много <забастовка>, более простая , меньше запутывающий путь состоял бы в том, чтобы циклично выполниться по буквам. Этот метод позволяет Вам избежать рекурсии, должны, Вы хотеть все перестановки, плюс он делаете, Вы быть похожими на Вас знаете Математику <глоток> (TM) !

, Если количество комбинаций является чрезмерным, можно разбить его в серию меньших слов и связать их в конце.

14
задан Kelly S. French 11 November 2009 в 16:27
поделиться

3 ответа

Это не работает, потому что кавычки отключают особое значение слова > и & . Вы должны выполнить команды, которые реализуют эти функции оболочки.

Для перенаправления вызовите exec >> myfile.log 2> & 1 перед командой, которую вы хотите зарегистрировать.

Чтобы запустить программу в фоновом режиме используйте nohup ( nohup cmd args ... ).

6
ответ дан 1 December 2019 в 08:17
поделиться

Вы можете сделать это с помощью команды eval :

eval ${COMMAND}
15
ответ дан 1 December 2019 в 08:17
поделиться

eval делает то, что вы хотите.

#!/bin/bash

CMD="echo foo"
OUT="> foo.log"
eval ${CMD} ${OUT}


CMD="sleep 5"
BG="&"
eval ${CMD} ${BG}
12
ответ дан 1 December 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: