ректории, все равно будет выполняться старая команда (если вызов происходит по короткому имени). Для исправления ситуации воспользуйтесь командой hash с ключом -r (см. Специальные команды).
Если вы переименовали текущую или вышележащую директорию, то команда pwd может давать неверную информацию. Для исправления ситуации воспользуйтесь командой cd с полным именем директории.
Команда test применяется для проверки условия. Формат вызова:
test <выражение> или [ <выражение> ]
Команда test вычисляет <выражение> и, если его значение - истина, возвращает код завершения 0 (true); иначе - ненулевое значение (false). Ненулевой код завершения возвращается и если опущены аргументы. <Выражение> может состоять из следующих примитивов:
-r файл | - истина, если файл существует и доступен для чтения |
-w файл | - истина, если файл существует и доступен для записи |
-x файл | - истина, если файл существует и является выполняемым |
-f файл | - истина, если файл существует и является обычным файлом |
-d файл | - истина, если файл существует и является директорией |
-c файл | - истина, если файл существует и является специальным символьно-ориентированным файлом |
-b файл | - истина, если файл существует и является специальным блок-ориентированным файлом |
-p файл | - истина, если файл существует и является именованным каналом (pipe) |
-s файл | - истина, если файл существует и имеет ненулевую длину |
-t [ дескриптор файла ] | - истина, если открытый файл с указанным дескриптором (по умолчанию 1) существует и ассоциирован с терминалом |
-z s1 | - истина, если длина строки s1 нулевая |
-n s1 | - истина, если длина строки s1 ненулевая |
s1 = s2 | - истина, если строки s1 и s2 совпадают |
s1 != s2 | - истина, если строки s1 и s2 не совпадают |
s1 | - истина, если s1 непустая строка |
n1 -eq n2 | - истина, если целые n1 и n2 алгебраически совпадают . На месте -eq могут быть также -ne, -gt, -ge, -lt, -le |
Команда expr применяется для вычисления выражений. Результат выводится на стандартный вывод. Операнды выражения должны быть разделены пробелами. Метасимволы должны быть экранированы. Надо заметить, что 0 возвращается в качестве числа, а не для индикации пустой строки. Строки, содержащие пробелы или другие специальные символы, должны быть заключены в кавычки. Целые рассматриваются как 32-битные числа.
Ниже приведен список операторов в порядке возрастания приоритета, операции с равным приоритетом заключены в фигурные скобки. Перед символами, которые должны быть экранированы, стоит \.
<выр> \| <выр> | если первое <выр> |