O arquivo de script de shell (.sh) não é executado e gera um erro

1

Sou novo no linux e tenho um arquivo de script de shell (.sh) no meu Desktop que quero executar. Estes são os passos que fiz:

Este é o conteúdo do arquivo test.sh em minha área de trabalho:

    #!bin/bash
    #test.sh
    echo "test"

Eu quero executar (Execute) test.sh através do terminal. Estes são os comandos que estou usando:

cd Desktop

Eu dou permissão para executar test.sh com:

chmod +x test.sh

e, em seguida, tente abrir o arquivo:

test.sh

Mas recebo este erro:

test.sh: command not found

e quando eu insiro test.sh com ./ novamente recebo este erro:

  

bash: ./test.sh: bin / bash: intérprete incorreto: não existe esse arquivo ou diretório

O que estou fazendo de errado?

    
por ahmad abedini 10.11.2014 / 22:57

2 respostas

5
  

bash: ./test.sh: bin / bash: intérprete incorreto: não existe esse arquivo ou diretório

Substituir:

#!bin/bash

Com:

#!/bin/bash

bin/bash é um caminho relativo ao diretório atual. /bin/bash é um caminho absoluto que funciona independentemente do diretório atual.

Além disso, dê uma olhada no seu PATH:

echo $PATH

Se você colocar test.sh em qualquer diretório listado e você poderá executá-lo sem o ./ ou outro especificador de caminho. Muitas pessoas criam um diretório $HOME/bin , colocam todos os seus scripts lá e o adicionam ao seu PATH.

    
por John1024 10.11.2014 / 23:01
1

Para poder executar o seu script bash, altere a primeira linha para

#!/bin/bash

Esse é o binário que irá interpretar e executar o seu script.

Para executar um script bash, faça o seguinte

./scriptname.sh

No seu exemplo:

./test.sh

no diretório em que você tem o script.

    
por mattias 10.11.2014 / 23:00