olá,
tenho um arquivo criado utilizando o nano (Ex: nano suporte.txt)
atribuo ao arquivo a permissão de execução (Ex: chmod +x suporte.txt)
Dúvida: por quê utilizar sh suporte não funciona?
para executá-lo foi possível somente com ./suporte.txt
olá,
tenho um arquivo criado utilizando o nano (Ex: nano suporte.txt)
atribuo ao arquivo a permissão de execução (Ex: chmod +x suporte.txt)
Dúvida: por quê utilizar sh suporte não funciona?
para executá-lo foi possível somente com ./suporte.txt
Olá Kayma. Tudo bem?
Se você está usando o binário sh
, ele espera um argumento que indique qual script ele deve executar. Se você estiver no mesmo diretório do script, você pode executar sh meu-script
, mesmo sem o "./". Se o script estiver em um diretório diferente do qual você está no momento que executa o sh
, você deve passar o caminho para ele.
Acontece que o nome do script é o nome completo do arquivo. Se seu arquivo está nomeado suporte.txt, então não tem como o sh
saber que você está se referindo a ele passando somente suporte. Você tentou executar sh suporte
. Ao invés disso, tente executar sh suporte.txt
Além disso, é uma boa prática que, se for usar uma extensão no arquivo de script, que use a ".sh". Ajuda a identificar o que é um arquivo de texto comum e o que é um script. Outra coisa é que a extensão do arquivo não precisa ser colocada no momento de criação. Então se você quiser executar o script somente usando seu nome, basta salvar ele sem nenhuma extensão.
Também é possível executar o script mesmo sem passar o sh
ou bash
, se você colocar
#!/bin/sh
ou
#!/bin/bash
como primeira linha do script. Isso avisa ao shel qual interpretador ele deve usar para executar aquele script.
Espero ter ajudado.