Respostas:
$prompt: /path/to/scripte pressione Enter. Observe que você precisa ter certeza de que o script tem permissões de execução.
/path/to diretório, por exemplo, com o cd /path/tocomando, você pode entrar ./scriptpara executar seu script. Não se esqueça, neste caso, o './' antes de 'script'
Mais uma maneira de executá-lo (desta vez sem definir permissões de execução):
bash /path/to/scriptname
cd para o diretório que contém o script, ou coloque-o em uma pasta bin que está em seu $ PATH
então digite
./scriptname.sh
se no mesmo diretório ou
scriptname.sh
se estiver na pasta bin.
./scriptname.shfunciona para mim, mas scriptname.shdá scriptname.sh: command not found. -rwxr-xr-xsão suas permissões.
cdqualquer lugar comete outro mal-entendido comum para iniciantes. A menos que o script internamente tenha dependências que exijam sua execução em um diretório específico (como a necessidade de ler um arquivo de dados para o qual o script inexplicavelmente não oferece uma opção para apontar), você nunca deve precisar de cdnenhum lugar para executá-lo muitas vezes não vai querer.
Você poderia fazer:
sh scriptname.sh
shé um link simbólico para bash, ou se o script não usa qualquer construção específicas do Bash. No primeiro caso, usar em bashvez de shé a única solução correta e portátil; no último caso, não é a resposta correta para esta pergunta em particular, porque o OP perguntou sobre conselhos para um script Bash especificamente. Perpetrar a resposta errada é irresponsável; usuários que não conseguem perceber a diferença postam aqui com frequência e precisam ser mostrados por que essa resposta "funcionou para mim" não funcionou para eles.
Em primeiro lugar você tem que torná-lo executável usando: chmod +x name_of_your_file_script.
Depois de torná-lo executável, você pode executá-lo usando ./same_name_of_your_file_script
Mude o seu diretório para onde o script está localizado usando o comando cd
Então digite
bash program-name.sh
cdlugar nenhum; você pode especificar um nome de caminho arbitrariamente complexo como o argumento para bash; na verdade, qualquer programa que receba um argumento de nome de arquivo funciona dessa maneira (ou é terrivelmente, entorpecentemente quebrado).
Este é um tópico antigo, mas me deparei com ele e estou surpreso que ninguém tenha colocado uma resposta completa ainda. Então aqui vai ...
P: Como faço para executar isso no Terminal?
Confusões e conflitos:
sudofazer nada disso. Este comando é reservado para a execução de comandos como outro usuário ou um usuário 'root' (administrador). Ótima postagem aqui .(Uma pessoa que está aprendendo a executar scripts não deve usar este comando a menos que haja uma necessidade real, como instalar um novo programa. Um bom lugar para colocar seus scripts é na pasta ~ / bin. Você pode chegar lá digitando cd ~/binou cd $HOME/binno prompt do terminal. Você terá permissões totais nessa pasta.)
Para "executar este script" a partir do terminal em um sistema do tipo Unix / Linux, você deve fazer três coisas:
Diga ao sistema a localização do script. (escolha um)
/path/to/script.sh). Você pode verificar o caminho completo digitando pwdou echo $PWDno terminal../para o caminho (por exemplo ./script.sh). Fácil.PATHe apenas digite o nome (por exemplo script.sh). Você pode verificar o sistema PATHdigitando echo $PATHou echo -e ${PATH//:/\\n}se quiser uma lista mais organizada.Diga ao sistema que o script tem permissão para ser executado. (escolha um)
chmod +x /path/to/script.shno terminal.chmod 755 /path/to/script.shse preferir números. Há uma grande discussão com um gráfico legal aqui .Informe ao sistema o tipo de script. (escolha um)
BASH /path/to/script.shou PHP /path/to/script.php) Se o script tiver uma extensão, como .php ou .py, ela faz parte do nome do script e você deve incluí-la.#!/bin/bash) em seu exemplo. Se você tiver isso como a primeira linha do seu script, o sistema usará esse programa para executar o script. Não há necessidade de digitar programas ou usar extensões.PATHusando #!/usr/bin/envseguido do nome do programa (por exemplo, #!/usr/bin/env bashou #!/usr/bin/env python3). Existem prós e contras conforme discutido aqui .script.she script.phpsão os nomes de arquivo literais desses scripts, e que se você colocar uma extensão no nome do arquivo, será necessário incluí-la ao executar o script (e vice-versa; se o script não ' t tem uma extensão, não coloque uma). Isso é diferente, por exemplo, do DOS, em que você pode omitir o .batou .exedo nome do arquivo e os arquivos precisam ter uma extensão de um pequeno conjunto para serem considerados executáveis.
Se você estiver em um diretório ou pasta onde o arquivo de script está disponível, basta alterar a permissão do arquivo no modo executável,
chmod +x your_filename.sh
Depois disso, você executará o script usando o seguinte comando.
$ sudo ./your_filename.sh
Acima de "." representam o diretório atual. Nota! Se você não estiver no diretório onde o arquivo de script bash está presente, você pode alterar o diretório onde o arquivo está localizado usando
cd Directory_name/write the complete path
comando. Caso contrário, seu script não pode ser executado.
sudoestá errado e potencialmente terrivelmente errado se você usá-lo em um script não confiável que abusa dos poderes que você deu a ele desnecessariamente.
cdalgum lugar é difícil de entender, mas provavelmente também está errado.
chmod +x scriptnamee então./scriptname.