Red de conocimiento informático - Problemas con los teléfonos móviles - shell encuentra números primos

shell encuentra números primos

for ((i>101000;i<102000;i++))

i no tiene asignado un valor inicial y comienza desde 0 de forma predeterminada. Aquí está i=101000

if [ $i%$a = 0 ]

Esta oración es incorrecta. Las operaciones aritméticas solo se pueden realizar directamente en (( )), [ ] Es. No es posible juzgar simplemente las expresiones.

Puedes usar expr para calcular, cámbialo a if [ `expr $i % $a` -eq 0 ]

O usa el comando incorporado del shell let para calcular:

let mod=i%a

if [ $mod -eq 0 ]

También

if [ $ret == 1 ] también tiene problemas, juzgue el valor Para igualdad, use -eq; para juzgar la igualdad de cadenas, use =.

== se utiliza en lenguaje C.