Перейти на домашнюю страницу

bash, Кавычки, \ и перевод строки

Источник: Advanced Bash-Scripting Guide by Mendel Cooper

В bash есть возможность разбивать команды на несколько строк, используя в конце каждой "\".

Пример ниже:
а) задаёт переменную var равную "date"
б) выводит значение var, то есть строку "date"

var=\

date

echo "$var"


* * *

Ещё примеры с переводом строки

Пример:

echo "foo

bar"


foo
bar

Пример:

echo 'foo

bar'


foo
bar

Пример:

echo foo\

bar


foobar

Пример:

echo "foo\

bar"


foobar

Пример:

echo 'foo\

bar'


foo\
bar

* * *

Экранирование пробелов

Здесь всё в порядке,
обращаемся командой ls к двум разным файлам

ls -l /etc/hosts /etc/timezone


Здесь будет ошибка!
команда ls попытается найти файл с именем "/etc/hosts /etc/timezone"

ls -l /etc/hosts\ /etc/timezone

#bash

2017-08-27 19:13:32