• avatar
  • aonick
  • 09 июля 2009, 10:21
  • #
  • +2
интересно и информативно, но…

Поправки:
1) Запись ./file[3-4,9] — означает что будут показаны следующие файлы(если они существуют) из текущей директории: «file3», «file4», «file9» и обращаю здесь внимание «file,». То есть заканчивающийся на «запятую». Вообщем правильнее было писать не [a-z,A-F], а [a-zA-F]. Пример подтверждающий:
$ touch file{1..9} file, 
$ ls file[1-3,5-8]
file,  file2  file5  file7
file1  file3  file6  file8


2) В шаблонах(wildcards) "*" — означает любые файлы, кроме тех которые начинаются с точки, т.е «ls ./*.txt» — точнее означает показать «все файлы в текущем каталоге с расширением txt, кроме тех что начинаются с точки». Пример подтверждающий:
$ touch .file.txt file.txt
$ ls ./*.txt
./file.txt

3) Командную подстановку удобнее использовать
вместо: cwd=`pwd`
так: cwd=$(pwd)
Просто потому, что удобно делать вложенные конструкции типа:
rpm -e $(rpm -qi $(which bluhbluhbluh))
— это просто, для примера, удаляется rpm-пакет из которого была установлена утилита bluhbluhbluh

Добавка:
~aonick/Desktop — заменяется на путь к папке Desktop в домашней папке aonick

  • avatar
  • aonick
  • 09 июля 2009, 09:51
  • #
  • +4
Добавки:
1) Посмотреть количество элементов массива: echo ${#arr[@]}
2) Обработать массив(в данном случае показать каждый элемент):
for ((i=0;i<${#arr[@]};i++));do echo ${arr[$i]};done