Библиотека knigago >> Компьютеры: Операционные системы >> Linux >> Bash-скрипты, руководство в 11 частях


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 2597, книга: Расскажу вам про Эстер
автор: Марек Хласко

В книге "Расскажу вам про Эстер" читатель окунается в мир молодого человека по имени Эстер, который живет в маленьком европейском городке на пороге Второй мировой войны. В центре сюжета - история его любви к девушке по имени Зенька и его борьба с поднимающимся нацизмом. История Эстера рассказана с точки зрения наблюдателя, друга Эстера, который размышляет о своем прошлом и о том, как оно повлияло на его судьбу. Этот прием создает интригу и позволяет читателю как бы заглянуть в голову...

СЛУЧАЙНАЯ КНИГА

Автор неизвестен - Bash-скрипты, руководство в 11 частях

Bash-скрипты, руководство в 11 частях
Книга - Bash-скрипты, руководство в 11 частях.  Автор неизвестен  - прочитать полностью в библиотеке КнигаГо
Название:
Bash-скрипты, руководство в 11 частях
Автор неизвестен

Жанр:

Другие языки и системы программирования, Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Linux

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Bash-скрипты, руководство в 11 частях"

Аннотация к этой книге отсутствует.

Читаем онлайн "Bash-скрипты, руководство в 11 частях". [Страница - 4]

идентичны.

str1 != str2 Возвращает истину, если строки не идентичны.

str1 < str2 Возвращает истину, если str1 меньше, чем str2.

str1 > str2 Возвращает истину, если str1 больше, чем str2.

-n str1 Возвращает истину, если длина str1 больше нуля.

-z str1 Возвращает истину, если длина str1 равна нулю.


Вот пример сравнения строк в сценарии:


#!/bin/bash

user ="likegeeks"

if [$user = $USER]

then

echo "The user $user  is the current logged in user"

fi

В результате выполнения скрипта получим следующее.


Книгаго: Bash-скрипты, руководство в 11 частях. Иллюстрация № 12

Сравнение строк в скриптах

Вот одна особенность сравнения строк, о которой стоит упомянуть. А именно, операторы «>» и «<» необходимо экранировать с помощью обратной косой черты, иначе скрипт будет работать неправильно, хотя сообщений об ошибках и не появится. Скрипт интерпретирует знак «>» как команду перенаправления вывода.


Вот как работа с этими операторами выглядит в коде:


#!/bin/bash

val1=text

val2="another text"

if [ $val1 \> $val2 ]

then

echo "$val1 is greater than $val2"

else

echo "$val1 is less than $val2"

fi

Вот результаты работы скрипта.


Книгаго: Bash-скрипты, руководство в 11 частях. Иллюстрация № 13

Сравнение строк, выведенное предупреждение

Обратите внимание на то, что скрипт, хотя и выполняется, выдаёт предупреждение:


./myscript: line 5: [: too many arguments

Для того, чтобы избавиться от этого предупреждения, заключим $val2 в двойные кавычки:


#!/bin/bash

val1=text

val2="another text"

if [ $val1 \> "$val2" ]

then

echo "$val1 is greater than $val2"

else

echo "$val1 is less than $val2"

fi

Теперь всё работает как надо.


Книгаго: Bash-скрипты, руководство в 11 частях. Иллюстрация № 14

Сравнение строк

Ещё одна особенность операторов «>» и «<» заключается в том, как они работают с символами в верхнем и нижнем регистрах. Для того, чтобы понять эту особенность, подготовим текстовый файл с таким содержимым:


Likegeeks

likegeeks

Сохраним его, дав имя myfile, после чего выполним в терминале такую команду:


sort myfile

Она отсортирует строки из файла так:


likegeeks

Likegeeks

Команда sort, по умолчанию, сортирует строки по возрастанию, то есть строчная буква в нашем примере меньше прописной. Теперь подготовим скрипт, который будет сравнивать те же строки:


#!/bin/bash

val1=Likegeeks

val2=likegeeks

if [ $val1 \> $val2 ]

then

echo "$val1 is greater than $val2"

else

echo "$val1 is less than $val2"

fi

Если его запустить, окажется, что всё наоборот — строчная буква теперь больше прописной.


Книгаго: Bash-скрипты, руководство в 11 частях. Иллюстрация № 15

Команда sort и сравнение строк в файле сценария

В командах сравнения прописные буквы меньше строчных. Сравнение строк здесь выполняется путём сравнения ASCII-кодов символов, порядок сортировки, таким образом, зависит от кодов символов.

Команда sort, в свою очередь, использует порядок сортировки, заданный в настройках системного языка.

Проверки файлов


Пожалуй, нижеприведённые команды используются в bash-скриптах чаще всего. Они позволяют проверять различные условия, касающиеся файлов. Вот список этих команд.


-d file Проверяет, существует ли файл, и является ли он директорией.

-e file Проверяет, существует ли файл.

-f file Проверяет, существует ли файл, и является ли он файлом.

-r file Проверяет, существует ли файл, и доступен ли он для чтения.

-s file Проверяет, существует ли файл, и не является ли он пустым.

-w file Проверяет, существует ли файл, и доступен ли он для записи.

-x file Проверяет, существует ли файл, и является ли он исполняемым.

file1 -nt file2 Проверяет, новее ли file1, чем file2.

file1 -ot file2 Проверяет, старше ли file1, чем file2.

-O file Проверяет, существует ли файл, и является ли его владельцем текущий пользователь.

-G file Проверяет, существует ли файл, и соответствует ли его идентификатор группы идентификатору группы текущего пользователя.


Эти команды, как впрочем, и многие другие рассмотренные сегодня, несложно запомнить. Их имена, являясь сокращениями от различных слов, прямо указывают на выполняемые ими проверки.

Опробуем одну из команд на практике:


#!/bin/bash

mydir=/home/likegeeks

if [ -d $mydir ]

then

echo "The $mydir directory --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.