Diferença entre `.sh` e `.csh`

Diferença entre `.sh` e `.csh`

Acabei de instalar o Intel Parallel Studio e agora gostaria de configurar as variáveis ​​do sistema, para que o Terminal possa encontrar os compiladores, etc.

Emos guias de instalaçãodiga-me para executar alguns scripts de configuração incluídos ou incluí-los em meu perfil bash, etc.

Porém, sempre diz, por exemplo:

Defina as variáveis ​​de ambiente antes de usar o compilador. Você pode usar o comando source para executar os compiladores de shell script.ehou compiladores.csh.

No entanto, isso não explica a diferença entre as duas variantes. Também não consigo encontrar nenhuma comparação entre as duas extensões de arquivo em qualquer outro lugar online.

A única coisa que posso inferir é que os .csharquivos são específicos do Mac OSX, a partir da linha:

No Linux* e OS X*, o arquivo é um script de shell chamado compilervars.sh ou compilervars.csh

Gostaria de saber mais detalhes antes de executar qualquer coisa.

Responder1

.shé indicativo de um script para o shell Bourne ( sh) ou o shell Bourne Again ( bash), que geralmente é um superconjunto de seu antecessor.

.cshé indicativo de um script para o shell C ( csh), que, sendo um shell, é bastante semelhante, mas significativamente diferente assim que você começa a fazer algo muito mais complexo do que executar uma série de comandos estáticos.

Ambos os shells estão geralmente disponíveis em qualquer ambiente POSIXy e, de fato, ambos são frequentemente pré-instalados, embora bash(e seu primo sh) sejam um pouco mais onipresentes em minha experiência.

Digo 'indicativo' acima, porque a ideia de extensão de arquivo não existe tecnicamente e não tem significado semântico ou sintático. Um arquivo pode ser nomeado script.steveou documentation.exeou include.he ainda assim ser um script de shell. Para uma confirmação mais definitiva, observe a primeira linha do arquivo. Para um script projetado para ser executado diretamente, ele deve começar com uma linha shebang, que começa com um octothorpe ( #), um bang ( !) e o caminho para o executável que deve executar o script. Por exemplo:

#!/usr/local/bin/bash

ou

#!/usr/bin/python3

informação relacionada