Файлы с расширением .py и .sh в Linux отличаются по своему содержанию:
При этом расширения не являются обязательными и не гарантируют исполняемость файла в Linux. 1 Система определяет, является ли файл исполняемым, основываясь на разрешениях, которые ему присвоены. 1 Если файлу предоставлено разрешение на выполнение, система поймёт, что его можно запустить. 1
Таким образом, основное отличие в том, что файлы .py представляют собой код на языке программирования, а файлы .sh — это скрипты оболочки, содержащие команды для выполнения. 15