Для начала я хочу проверить работу оператора вывода и работу с переменными. Для этого напишу пару скриптов, демонстрирующих это..
Оператор вывода в 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 такого нет. К команде echo можно добавить ключ -n, тогда перевод строки происходить не будет.
#!/bin/bash a="Hello, World!" b="Привет, Мир!" echo -n $a echo $b
Выведет обе строки на одной строчке.
#!/bin/bash a="Hello, World!" b="Привет, Мир!" c=$a$b echo $c
Выведет «Hello, World!Привет, Мир!», т.е. для скрещивания строк, достаточно поставить их рядом. На ладно, с оператором вывода и строками закончим.
Comments ( 0 )