Для начала я хочу проверить работу оператора вывода и работу с переменными. Для этого напишу пару скриптов, демонстрирующих это…
Оператор вывода в bash — это echo, то что выводится, заключается в кавычки:
#!/bin/bash echo "Hello, World!"
Получим надпись «Hello, World!»
Хорошо, напишем вот так:
#!/bin/bash echo 'Hello, World!'
Я заменил двойные кавычки («) на одинарные (‘), но ничего не поменялось. Попробуем вовсе убрать кавычки:
#!/bin/bash echo Hello, World!
И что удивительно, результат остался тот же!
Попробуем добавить переменные:
#!/bin/bash a="Hello, World!" echo $a
Насколько видно из примера, объявляется переменная без знака доллара ($), но используется уже с ним. Чем-то напоминает php. Игра с двойными и одинарными кавычками привела к одинаковому результату, а вот отсутствие кавычек вызвало ошибку. Поэтому для строк используем кавычки всегда. У оператора вывода в bash есть схожая черта с оператором вывода в php:
#!/bin/bash a="Hello, World!" echo "$a"
Выведет Hello, World! Кстати, хочу заметить очень важную особенность. Перед и после оператора присваивания (=) пробелы недопустимы, выдаст ошибку и Вы долго будете думать из-за чего она возникла.
#!/bin/bash a="Hello, World!" echo '$a'
выведет $a
Попробуем вот такой вариант:
#!/bin/bash a="Hello, World!" b="Привет, Мир!" echo $a $b" А это простой текст"
В результате между всеми тремя строками есть пробел, интересно 🙂 В php такого нет.
#!/bin/bash a="Hello, World!" b="Привет, Мир!" c=$a$b echo $c
Выведет «Hello, World!Привет, Мир!», т.е. для скрещивания строк, достаточно поставить их рядом. На этом с оператором вывода и строками закончим.
Автор: Roman Brovko