Erro no script Bash no meu computador, mas NÃO em outros

3

o script:

waktu=$(date +"%H")
kelompok="E20"
dir_skrg=$(pwd)

if (( $waktu >= 5 && $waktu <= 10 ))
then
    salam="pagi"
elif (( $waktu >= 10 && $waktu <= 3 ))
then
    salam="siang"
elif (( $waktu >= 4 && $waktu <= 7 ))
then
    salam="sore"
else 
    salam="malam"
fi

echo “Selamat $salam $kelompok dengan user $USER, sekarang pukul $waktu dan pada direktori $dir_skrg”

dá erro:

script1.sh: 5: script1.sh: 14: not found
script1.sh: 8: script1.sh: 14: not found
script1.sh: 11: script1.sh: 14: not found

mas não no meu amigo do Ubuntu. andybody sabe por quê?

14 é a hora em que executo o script, presumo que por algum motivo ele ache que 14 é um arquivo

    
por Haidar M. 20.09.2012 / 16:14

2 respostas

5

Parece que está sendo executado como um script shell (sh) em vez de um script bash. Tente executá-lo assim:

bash script.sh

ou insira o seguinte como a primeira linha do seu script

#!/bin/bash

Em seguida, execute como ./script.sh

    
por January 20.09.2012 / 16:22
5

Adicione #!/bin/bash ao topo do seu script, como a primeira linha.

  

Nota: isso é chamado de shebang. Mais informações sobre o assunto podem ser encontradas aqui .

Conceda ao seu script as permissões corretas.

chmod a+x <script_name>

Execute seu script novamente.

./<script_name>
    
por devav2 20.09.2012 / 16:20

Tags