Our Blog

Простейшие операции на bash

Для начала я хочу проверить работу оператора вывода и работу с переменными. Для этого напишу пару скриптов, демонстрирующих это..

Оператор вывода в 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 )
    -->