'seq' и удар заключают в фигурные скобки сбой расширения

Сначала получите следующее:

  1. Допустимый, проверенный CentOS ISO. Существует довольно много доступных зеркал.
  2. uNetBootin: Это небольшое приложение ROX!
  3. Flashstick/thumbdrive на 16 ГБ, или независимо от того, что Вы хотите назвать его. Следует иметь в виду, что начальная загрузка от флэш-памяти ТАКЖЕ зависит от flashstick. Некоторая привычка работает... которые? Сообщите мне, узнаете ли Вы. 7 из моих 19 не работали!
  4. Свободное время. Ожидание вещи закончиться управляло мной стена вчера вечером!

После того как Вы имеете все свое программное обеспечение на Вашей машине, разжигаете uNetBootin. Укажите на него на свой flashstick и свой ISO и скажите ему идти. Пойдите делают кофе, имеют дым и затем возвращаются тот... он идет, занимают у этого много времени. Однажды его сделанный, у Вас есть еще один шаг: скопируйте ISO в Flashstick. Вам будет нужен он позже! После того, как сделанный, разъем flashstick в целевую машину и загружают его. Рассматривая диапазон машин там, я не могу сказать Вам, как установить Вашу машину для начальной загрузки от флэш-памяти, но необходимо войти BIOS и сделать это. Машина будет погрузка flashstick начальная загрузка от него до экрана Unetbootin.

Разрешение и установка до установщика просят источник для ISO. Выберите жесткий диск и укажите на него на /dev/sda.

Это должно затем разжечь Анаконду и Слегка ударяет Вашу Тетю.

5
27.08.2014, 15:24
2 ответа

для i в {0..1000000} и для i в $ (seq 1000000) оба составляют большой список, а затем перебирают его. Это неэффективно и требует много памяти.

Используйте вместо этого

for ((i = 0; i<= 1000000; i++))

. Или POSIXly:

i=0; while [ "$i" -le 1000000 ]; do
  ...
  i=$(($i + 1))
done

Или:

seq 1000000 | xargs...

Чтобы получить файл, полный CRLF:

yes $'\r' | head -n 1000000 >  file

Как правило, следует избегать циклов в оболочках, когда это возможно.

10
27.01.2020, 20:35

@Stéphane Chazelas дал отличный ответ.

Мой не ответ. Мне просто стало интересно узнать об эффективности различных решений, поэтому я решил поделиться своими результатами...

~# i=0 ; time while [ "$i" -le 1000000 ]; do ((i++)) ;done
real    0m21.753s

~# time for ((i = 0; i<= 1000000; i++))  ;do : ;done
real    0m15.791s

~# time for i in {0..1000000} ;do : ;done
real    0m8.897s

~# time for i in $(seq 0 1000000) ;do : ;done
real    0m7.760s

:~# time seq 1000000 | xargs true
real    0m0.938s

~# time yes $'\r' | head -n 1000000 >/dev/null
real    0m0.048s

Ответ yesявляется явным победителем. :-)Кроме того, он действительно выполняет ту работу, которая нужна ОП.

1
02.11.2020, 03:52

Теги

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