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

1

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

Em os guias de instalação dizem-me para executar alguns scripts de configuração incluídos ou incluí-los no meu perfil bash etc. Isso é legal.

Sempre diz, por exemplo:

Set the environment variables before using the compiler. You can use the source command to execute the shell script compilervars.sh or compilervars.csh.

No entanto, isso não explica a diferença entre as duas variantes. Também não consigo encontrar comparações das duas extensões de arquivo em nenhum outro lugar on-line.

As únicas coisas que posso inferir é que os arquivos .csh são específicos do Mac OSX, da linha:

On Linux* and OS X*, the file is a shell script called compilervars.sh or compilervars.csh

Gostaria de saber mais detalhes antes de executar qualquer coisa.

    
por n1k31t4 21.04.2017 / 22:19

1 resposta

4

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

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

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

Eu digo 'indicativo' acima, porque a ideia de uma extensão de arquivo não existe tecnicamente e não tem significado semântico ou sintático. Um arquivo pode ser denominado script.steve ou documentation.exe ou include.h e ainda ser, na verdade, um script de shell. Para uma confirmação mais definitiva, veja 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 estrondo ( ! ) e o caminho para o executável que deve executar o script. Por exemplo:

#!/usr/local/bin/bash

ou

#!/usr/bin/python3
    
por 21.04.2017 / 22:22