<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
<html>
  <head>
    <title>glob</title>
  </head>

  <body>
    <h1>glob</h1>

    <p> Команда возвращает имена файлов, удовлетворяющих шаблону.
    </p>

    <h2>СИНТАКСИС</h2>

    <pre>
      <strong>glob</strong> ?<em>switches</em>? <em>pattern</em> ?<em>pattern</em>?
    </pre>

    <h2>ОПИСАНИЕ</h2> 

    <p> Команда <strong>glob</strong> выполняет поиск имен файлов подобно тому,
      как это делает оболочка csh, и возвращает список имен,
      удовлетворяющих шаблону <em>pattern</em>. Аргументы, начинающиеся
      со знака <strong>-</strong>, являются управляющими ключами <em>switches</em>.
    </p>

    <p>Возможные ключи: </p>

    <dl>
      <dt> <strong>-nocomplain</strong> </dt>

      <dd> Позволяет вернуть пустой список без генерации ошибки.  Если
          ключ не задан, то при пустом списке формируется ошибка.
      </dd>

      <dt><strong>--</strong></dt>

      <dd> Означает конец ключей. Аргумент после этого ключа считается
	шаблоном, даже если он начинается с <strong>-</strong>.
      </dd>
    </dl>
    
    <p>Шаблоны могут включать следующие специальные символы: </p>

    <table>
      <tbody>
	<tr>
	  <td><strong>?</strong></td>

	  <td>Удовлетворяет любому символу;</td>
	</tr>
	<tr>
	  <td><strong>*</strong></td>

	  <td>Удовлетворяет любой последовательности из нуля или
	    больше символов;</td>
	</tr>
	<tr>
	  <td><strong>[chars]</strong></td>

	  <td>Удовлетворяет любому символу из <em>chars</em>. Если
	    <em>chars</em> включает последовательность символов типа
	    <em>a-b</em>, то удовлетворяет всем символам от <em>a</em> до
	    <em>b</em> (включительно).
	  </td>
	</tr>
	<tr>
	  <td><strong>\x</strong></td>

	  <td>Удовлетворяет символу <strong>x</strong>.</td>
	</tr>
	<tr>
	  <td><strong>{a,b,...}</strong></td>

	  <td>Удовлетворяет любой из строк <em>a</em>, <em>b</em>,> и т.д.</td>
	</tr>
      </tbody>
    </table>

    <p>Как и в csh, символ <strong>.</strong> в начале имени файла или сразу
      после <strong>/</strong> должен соответствовать явно или с помощью
      конструкции <strong>{}</strong>.</p>
    
    <p>Если первый символ образца <strong>~</strong>, то он указывает на
      домашний каталог пользователя, чье имя указано после
      <strong>~</strong>. Если сразу после <strong>~</strong> идет <strong>/</strong>, то
      используется значение переменной окружения HOME.</p>
    
    <p>Действие команды <strong>glob</strong> отличается от работы в csh в
      следующем:</p>
    
    <ul>
      <li>она не сортирует составленный ей список;</li>

      <li>она возвращает имена только существующих файлов (в csh
          проверку наличия файлов надо задавать отдельно, если только
          шаблон не содержит символов <strong>?</strong>, <strong>*</strong>, или
          <strong>[]</strong>).</li>
    </ul>

    <h2>ОСОБЕННОСТИ РАБОТЫ НА РАЗЛИЧНЫХ ПЛАТФОРМАХ</h2> 

    <p> В отличие от другихTcl-команд команда <strong>glob</strong> может
      работать с именами файлов только в нотации, поддерживаемой на
      той платформе, на которой она исполняется. Кроме того, на
      Windows-платформах специальные символы не допустимы в сетевых
      именах.
    </p>
  </body>
</html>