Eu tenho o seguinte roteiro:
1 #!/usr/bin/env sh
2 #calculate number of tests we will run
3 lines="$(cat /etc/crontabs/root|wc -l)"
4 tests="$(($lines - 2))"
5
6 echo "1..$tests"
7 counter=1
8 etc.... does other stuff
Na linha 1, estou tentando codificá-lo de forma que não precise digitar "sh" para iniciá-lo. Anteriormente, o hashbang era assim:
#!/bin/sh
e o código funcionaria, mas você precisa dizer qual exe usar para iniciá-lo.
Eu gostaria agora de tentar alterá-lo para que o usuário não precise saber que tipo de script é. Acho que fiz algo errado porque quando tento executar meu script, recebo o seguinte erro:
lab-1:/tmp# crontab_test
-ash: crontab_test: not found
Você pode me dizer onde eu me desviei?
Seu caminho hashbang parece bom.
Seu script está no
/tmp
diretório?O
/tmp
diretório (geralmente) não está no seu$PATH
, então você deve especificar o diretório na linha de comando. Você pode usar./
para o diretório atual:Alguns sistemas têm o diretório atual
.
no$PATH
, mas isso é considerado um pouco duvidoso do ponto de vista da segurança.