Инструменты пользователя

Инструменты сайта

Загрузка не удалась. Возможно, проблемы с правами доступа?

linux:bash-for

Различия

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

Ссылка на это сравнение

linux:bash-for [2016/08/08 06:30] (текущий)
Строка 1: Строка 1:
 +===== Цикл for на bash, обработка массивов и выводов команд =====
 +Синтаксис общий:
 +<code bash>
 +#!/bin/bash
 +$f="0 1 2 3 4"
 +for i in $f
 +do
 +  echo "​$i"​
 +done
 +</​code>​
 +Можно подставлять вывод команды (например,​ однострочного ls). Тогда for будет перебирать элементы вывода:​
 +<code bash>
 +lst=`ls -h -l`
  
 +for n in $lst
 +do
 +echo '​=='​$n'​=='​
 +done
 +</​code>​
 +Если есть объявленный мвссив,​ например
 +<code bash>
 +str=('​st1'​ '​st2'​ '​st3'​)
 +</​code>​
 +То его не перебрать предыдущим варинтом,​ нужна конструкция
 +<code bash>
 +for m in "​${str[@]}"​
 +do
 +   echo $m
 +done
 +</​code>​
 +<WRAP center round tip 90%>
 +Обратите внимание,​ при объявлении массива - его элементы записываются через пробел!
 +</​WRAP>​
 +
 +=== Ссылки ===
 +  * http://​wiki.dieg.info/​bash
linux/bash-for.txt · Последние изменения: 2016/08/08 06:30 (внешнее изменение)