Соглашение Bash для if; then

С этой веб-страницы:

http://tldp.org/LDP/abs/html/abs-guide.html

Упоминается использование условных обозначений если скобки, то, которые после точки с запятой нужен пробел:

;

 Разделитель команд [точка с запятой]. Разрешает помещать две или более команд в одну строку. 
 
echo hello; эхо там 
 
 
if [-x "$ filename"]; then # Обратите внимание на пробел после точки с запятой. 
 # + ^^ 
echo "Файл $ filename существует."; cp $ filename $ filename.bak 
else # ^^ 
echo "Файл $ filename не найден."; коснитесь $ filename 
fi; echo "Проверка файла завершена." 
 
Обратите внимание, что ";" иногда требуется экранирование. 
 

Кто-нибудь знает, откуда это и нужно ли это вообще некоторым оболочкам?

6
задан Chmouel Boudjnah 2 November 2011 в 18:19
поделиться