Por que meu script gera erro?

0

o seguinte script bash mostra um erro.Como posso superar esses erros.

#!/cpd/misc/bin/bash
while[1];
do date "+%T";
sleep 60;
done

Erros:

./bash1.sh: line 2: while[1]: command not found
./bash1.sh: line 3: syntax error near unexpected token 'do'
./bash1.sh: line 3: 'do date "+%T";'
    
por gps sago 18.10.2016 / 13:09

2 respostas

1

Alguns erros:

  • Você precisa de um espaço em branco após while , antes da condição
  • [1] está errado no bash, presumivelmente você queria usar algo que tenha valor de verdade 1. Se sim, use : ou true , esses dois são mais comuns e legíveis
  • Além disso, como os comandos são separados por nova linha, você não precisa do ; s no final de cada linha

Então você pode fazer:

#!/cpd/misc/bin/bash
while :
do 
    date "+%T" 
    sleep 60
done
    
por 18.10.2016 / 13:13
0

while deve ser seguido por um espaço.

O que você acha que o [1] faz? Se houver um arquivo chamado 1 , ele será correspondido, então o bash verá while 1 e, se 1 não for executável e, em $ PATH, falhará. Se não houver 1 , o bash tentará executar [1] e provavelmente falhará novamente, porque nenhum sã nomeia seus scripts e programas executáveis [1] .

    
por 18.10.2016 / 13:12

Tags