error de shell script no puede encontrar [cerrado] -- bash campo con scripts camp askubuntu Relacionados El problema

shell script error not able to find [closed]


1
vote

problema

Español
cerrado. Esta pregunta es off-topic . Actualmente no está aceptando respuestas.

¿Quieres mejorar esta pregunta? Actualizar la pregunta para que sea on-topic para pedirle a Ubuntu.

cerrado hace 4 años .

Mejorar esta pregunta

Tengo este código y no puedo señalar el error. Es un programa simple para imprimir la tabla del número dado por el usuario.

Aquí está el código:

  #a function to calculate the table call() { #to check if it is in function   echo "in function" #read from user a no whose table is to print   read num #taking counter   i=0   echo "going in loop"          while [ $i -lt 10 ]    do         echo "in loop"  #incrementing the counter         i=$(( $i + 1 ))  #s= i + sa         s=$(($i * $num))  ##printing the value of num          echo " $num * $i =$s"     done   return 0 }        while [ 1 ] do      echo "in main "  #calling the function call()      echo "caliing call" call()  #asking user to continue or not      echo "COntinue.. or not [0/1] "     read ch   if [ $ch -eq 0 ]    then        {}    else        exit   fi done   

y la salida es esto

  nik-pc@nik:~$ sh cd.sh  in main   caliing call  12  nik-pc@nik:~$   
Original en ingles

I have this code and i am not able to point out the error. It is simple program to print table of the number given by user.

Here is the code:

#a function to calculate the table call() { #to check if it is in function   echo "in function" #read from user a no whose table is to print   read num #taking counter   i=0   echo "going in loop"          while [ $i -lt 10 ]    do         echo "in loop"  #incrementing the counter         i=$(( $i + 1 ))  #s= i + sa         s=$(($i * $num))  ##printing the value of num          echo "\t$num * $i =$s"     done   return 0 }        while [ 1 ] do      echo "in main "  #calling the function call()      echo "caliing call" call()  #asking user to continue or not      echo "COntinue.. or not [0/1] "     read ch   if [ $ch -eq 0 ]    then        {}    else        exit   fi done 

and output is this

nik-pc@nik:~$ sh cd.sh  in main   caliing call  12  nik-pc@nik:~$ 
     
     
     

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

En ABCDEFGHIJKLMNABCDEFGHIJKLMN6 , PARA LLAMARSE (Consulte) Una función Simplemente use el nombre de la función, ABCDEFGHIJKLMNABCDEFGHIJKLMN7 no se debe utilizar.

SO CAMBIAR ABCDEFGHIJKLMNABCDEFGHIJKLMN8 PARA SOLO ABCDEFGHIJKLMNABCDEFGHIJKLMN9 Para referirse a la función definida llamada GRUB_CMDLINE_LINUX_DEFAULT0 .

Tenga en cuenta que, aún necesita GRUB_CMDLINE_LINUX_DEFAULT1 en el tiempo de declaración de la función.

Entonces, por ejemplo, al declarar:

  GRUB_CMDLINE_LINUX_DEFAULT2  

MIENTRAS REFERENCIAS:

  GRUB_CMDLINE_LINUX_DEFAULT3  

en GRUB_CMDLINE_LINUX_DEFAULT4 ( GRUB_CMDLINE_LINUX_DEFAULT5 ), la referencia GRUB_CMDLINE_LINUX_DEFAULT6 se ignorará silenciosamente sin aumentar un error y la cáscara simplemente se moverá a la siguiente línea de script.

también a menos que esté seguro, es mejor usar GRUB_CMDLINE_LINUX_DEFAULT7 para ejecutar este tipo de scripts para evitar sorpresas.


También hay muchas cosas que podrían mejorarse en su código, que está fuera del alcance de esta pregunta.

 

In bash, to call (refer) a function just use the function's name, () is not to be used.

So change call() to just call to refer to the defined function named call.

Note that, you still need () in function declaration time.

So, for example, while declaring:

foobar () { .... ;} 

While referring:

foobar 

In sh (dash), the reference call() will be silently ignored without raising an error and the shell will just move on to the next line of script.

Also unless you are sure, it is better to use bash to run these sort of scripts to avoid surprises.


Also there are many things that could be improved in your code, which is out of the scope of this question.

 
 

Relacionados problema

22  Script de bash que no se ejecuta desde crontab [duplicado]  ( Bash script not executing from crontab ) 
Esta pregunta ya tiene respuestas aquí : ¿Por qué los scripts de Crontab no funcionan? ...

2  Abra la carpeta principal de un enlace simbólico a través de clic con el botón derecho?  ( Open the parent folder of a symbolic link via right click ) 
Podemos abrir una carpeta principal de cualquier archivo usando Script Nautilus como #!/bin/bash nautilus "$1" Si hago este script en el enlace simbó...

11  Ejecute scripts automáticamente en el servidor después de la conexión SSH  ( Run scripts automatically in server after ssh connection ) 
Cómo ejecutar un script automáticamente en el servidor Poco después de que el sistema del cliente establezca la conexión SSH con el servidor para ex: Supong...

135  ¿Cómo ejecutar un script simplemente haciendo doble clic en los archivos similares en Windows?  ( How to execute a script just by double clicking like exe files in windows ) 
¿Cómo puedo hacer que un script de Bash sea ejecutable haciendo doble clic al igual que ABCDEFGHIJKLMNABCDEFGHIJKLMN5 archivos en Windows? Lo intenté crean...

6  Mi función de bash se ejecuta solo una vez por terminal abierto  ( My bash function runs only once per terminal opened ) 
Cuando intento ejecutar mi función de bash, definida en .bashrc, por segunda vez en el mismo terminal, no funciona. El código es el siguiente: lspci6 ...

9  ¿Cómo apagar Ubuntu después de (2 horas) de inactivo?  ( How to shutdown ubuntu after 2 hours of idle ) 
Correr: Xubuntu 14.04 32bit. He leído varias desactualizadas, no funcionando, trabajando diferente que quiero respuestas aquí y en otros lugares. Tuve un gu...

0  Script Shell para instalar software y configurar la red  ( Shell script to install software configure network ) 
Oye, quería saber cómo, después de una nueva instalación de Ubuntu, puedo instalar todos los softwares esenciales (VLC, Apache, MySQL, PHP, Java, NetbeanSetc)...

2  ¿Cómo monitorear un archivo local para cambios, aplique un REGEX reemplazarlo y guardar / sobrescribir a un archivo de destino?  ( How to monitor a local file for changes apply a regex replace on it and save ov ) 
Me gustaría comenzar un script o algo que vea un archivo de texto para cambios. Cuando cambie el archivo, quiero ejecutarlo a través de un analizador REGEX pa...

0  Diferentes etapas en la programación de bash  ( Different stages in bash programming ) 
Tengo un programa de bash con diferentes etapas como: $stage=1 if [ stage -le 1]; then echo "execute stage 1" fi if [ stage -le 2]; then echo "execute sta...

3  dpkg sin shell  ( Dpkg with no shell ) 
¿Cómo ejecutar DPKG sin shell? Aquí está mi problema: HECHO Y AUTORUN.SH Script en mi clave USB. Para ejecutar este script, creé reglas en /etc/udev/ru...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos