Я не думаю, что есть особые требования к пространству для bash.Однако есть места, где пробел обязателен - например:
if [ "a$x" != "a" ]; then
...
fi
Запись ["$ x" без пробела после '[' не будет работать, так как '[' обычно является ссылкой на test Утилита, поэтому, если после нее нет пробела, bash будет искать [исполняемый файл $ x для выполнения.Но это особый случай.Я не думаю, что у bash больше требований к пробелам.
Существует несколько языков программирования / сценариев, которые используют пробел / таб как неотъемлемую часть языка.Например, makefile использует tab для команд правил:
target: prerequisite1 prerequisite2
command1 # the line starts with tab
command2 # the line starts with tab
Другой язык, который использует пробелы для понимания кода, как вы упомянули, это python.
Другие языки не задают никакихТребования к пространству, но для удобства чтения необходимо использовать отступы.Поддержка всех современных IDE поможет вам автоматически сделать отступ для кода.Эта группа языков ИМХО довольно большая - C / C ++ / JAVA / bash /....
Например, код C:
int foo()
{
int i = 0; // compiler do not need the spaces (indentation) in the beginning of the line,
// It is required for programmer to easy understanding the code.
...
return i;
}
Вы пишете код как:
int foo(){int i=0;return i;}
Но есть и другие языки с разным синтаксисом - например, html / sed / ..., где пробелы имеют разное значение в зависимости от того, в какой части выражения они используются.