Разница между `.sh` и `.csh`

Разница между `.sh` и `.csh`

Я только что установил Intel Parallel Studio и теперь хотел бы настроить системные переменные, чтобы Терминал мог найти компиляторы и т. д.

Вруководства по установкескажите мне запустить какие-нибудь включенные скрипты настройки или включить их в мой профиль bash и т. д. Это круто.

Однако, например, всегда говорится следующее:

Установите переменные окружения перед использованием компилятора. Вы можете использовать команду source для выполнения скрипта оболочки compilervars.шили компиляторные переменные.csh.

Однако это не объясняет разницу между двумя вариантами в любом случае. Я также не могу найти никаких сравнений двух расширений файлов где-либо еще в Интернете.

Единственное, что я могу предположить, это то, что эти .cshфайлы относятся только к Mac OSX, судя по строке:

В Linux* и OS X* файл представляет собой скрипт оболочки, называемый compilervars.sh или compilervars.csh.

Прежде чем что-либо предпринимать, я хотел бы узнать больше подробностей.

решение1

.shуказывает на скрипт для оболочки Bourne ( sh) или оболочки Bourne Again ( bash), которая, как правило, является расширенным вариантом своей предшественницы.

.cshуказывает на скрипт для оболочки C ( csh), которая, будучи оболочкой, во многом похожа, но существенно отличается, как только вы начинаете делать что-то более сложное, чем запуск серии статических команд.

Обе оболочки, как правило, доступны в любой среде POSIXy, и, действительно, обе часто предустановлены, хотя bash(и ее двоюродный брат sh) немного более распространены, по моему опыту.

Я говорю «ориентировочно» выше, потому что идея расширения файла технически не существует и не имеет семантического или синтаксического значения. Файл может быть назван script.steveили documentation.exeили include.hи все равно фактически быть скриптом оболочки. Для более определенного подтверждения посмотрите на первую строку файла. Для скрипта, предназначенного для непосредственного выполнения, он должен начинаться со строки shebang, которая начинается с octothorpe ( #), bang ( !) и пути к исполняемому файлу, который должен запустить скрипт. Например:

#!/usr/local/bin/bash

или

#!/usr/bin/python3

Связанный контент