Как вручную добавить запускаемые приложения в Mint 17.3

В качестве варианта ответа cas введите

printf '0%.s' {1..16}Enter

, а затем с помощью мыши скопируйте и вставьте его (один раз). Возможно, это O (log n), но поскольку это (len (str (n)) + 20), вы можете счесть это неэффективным. Но обратите внимание:

  • Мне удалось удалить один символ - в моей системе, %. S кажется ведут себя так же, как % .0s .
  • Если вы хотите запустить несколько команд с 0000000000000000 в качестве аргумента, вам нужно сделать это только один раз.

Гленн Джекман указывает , что printf "% 0 * d \ n" число 0 (где число - положительное целое число) выведет строку из числа нулей (и новой строки), как звездочка в формате сообщает printf , чтобы получить ширину поля из аргументов. В частности, printf "% 0 * d" 16 0 напечатает 16 нулей. Но это особый случай, который обрабатывает только 0 . printf "% 0 * d" 16 12345 напечатает 0000000000012345 , и printf "% 0 * d" 16 foo напечатает 0000000000000000 и сообщение об ошибке. Напротив, другие команды в этом ответе будут создавать строки вида 123451234512345… или foofoofoo… (и см. Ниже для 7% 7% 7% ... ).

Если вы собираетесь делать это часто, вы можете оптимизировать это, определив функцию оболочки:

rep() { printf -- "$1%.0s" $(seq 1 "$2"); printf "\n"; }

Примечания:

  • Используйте $ (seq 1 "$ 2" ) вместо (1 .."$ 2"} , потому что последний не работает - см. this , this , this и this . Обратите внимание, что в некоторых ответах на эти вопросы предлагается использовать eval , , но обычно это не рекомендуется.
  • Строка формата ( $ 1% .0s ) должна быть заключена в двойные кавычки (а не в одинарные кавычки), поскольку она содержит параметр ( $ 1 ).
  • - предназначены для защиты от значений $ 1 , начинающихся с - .
  • Вы можете получить аналогичную защиту, используя «%. 0s $ 1» вместо «$ 1% .0s» .
  • В любом случае, значение $ 1 , содержащее % , приведет к блокировке.
  • Если вам нужно иметь возможность обрабатывать значения $ 1 , содержащие % , выполните

     rep () {local i; для ((я = 0; я 

Кроме того, как только у вас определена такая функция, вы можете делать такие вещи, как

foo --bar=baz "$(rep 0 16)"

, который немного меньше набирает, чем "$ (printf '0% .0s' {1 .. 16}) ".

14
29.11.2016, 17:25
0 ответов

Теги

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