Archivo *.bat en Linux

Resuelto
Bonjour,

hace un tiempo que estoy haciendo archivos por lotes bajo Windows y quisiera hacer lo mismo en Linux. Me explico:

Bajo Windows creo archivos *.bat que son interpretados por la consola. Y me gustaría hacer lo mismo en Linux, es decir, crear un archivo que sea interpretado por la consola de Linux, cuyo ícono aparezca en mi escritorio (Linux) y solo tenga que hacer clic en él para "ejecutarlo" (o lanzarlo desde la consola).

Bajo Windows es muy simple, abrimos un editor de texto, escribimos nuestro script y lo guardamos como un archivo *.bat.
Pero bajo Linux no sé cómo proceder.
Configuración: Windows XP Firefox 3.0.3

21 respuestas

  1. ./test.bat
    1. Apparemment tengo un problema con el "shebang" porque me da el siguiente mensaje de error:
      -bash: ./test.bat: bin/sh: bad interpreter: No such file or directory
      Sin embargo, he puesto correctamente al principio del archivo:
      #!bin/sh -x
      1. ¡Eso fue! :s qué errores simples.

        Sin embargo, nuevo mensaje de error:
        -bash: ./test.bat: Permiso denegado
        ??? pero estoy en modo root ???
      2. Moderador
        Hola,

        Bajo GNU/Linux es muy simple, se abre un editor de texto, se escribe el script (con un shebang en la cabecera) y se guarda en un archivo *.algo (pero es opcional, lo puedes guardar como ".lo_que_quieras" o incluso sin extensión), se le da permiso de ejecución (chmod +x el_archivo) y listo ;-))

        --
        $ man woman
        No hay página de manual para woman.
        1. Aquí tienes la traducción al español:
          Lo haces ejecutable (chmod +x el_archivo)


          Aquí está lo que he escrito en mi consola:
           #nano #ls Desktop/ Set\ IP\address sample_scripts/ test.bat (que es el archivo que quiero crear) #chmod +x test.bat 


          ¿Y luego cómo ejecuto mi programa?
          1. Aquí tienes lo que obtengo :
             # id uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy) # ls -i 3327 Desktop/ 3328 Set\ IP\ address 3329 sample_scripts/ 6904 test.bat 
            1. Console:

              # id
              uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy)
              # ls -l
              total 5
              drwx---r-x 2 root root 40 Oct 16 18:08 Bureau/
              -rw-r--r-- 1 root root 323 2 mai 2005 Définir\ l’adresse\ IP
              drwxr-xr-x 2 root root 182 6 mars 2007 scripts_exemples/
              -rw-r--r-- 1 root root 62 16 oct. 17:57 test.bat
              1. No, he visto que no tengo derecho a ejecutar el archivo test.bat
                pero chmod +x no me cambia los derechos de acceso y eso realmente es un problema :s

                Sin embargo, estoy en SuperUsuario (root) y no puedo modificar los accesos de los archivos.

                ¿Puede ser que esto se deba a que estoy usando VirtualBox para emular Linux 2.6?
              2. Hola
                dado que eres principiante, no deberías hacer batch como root, arriesgas mucho:
                por ejemplo un
                rm -r / home/moi/mesfichero
                destruiría todo tu linux porque un espacio se ha insertado entre / y home
                mientras que como usuario normal no funcionaría.
                1. Sí, lo sé, pero Linux no está instalado en mi máquina ^^

                  Solo lo estoy emulando para pasar de WinXP a Linux rápidamente, así que no hay demasiado riesgo por ese lado.
                  1. Hola a todos

                    También tengo un pequeño problema con los derechos de acceso a mi .bat: Y eso a pesar de que le he dado todos los derechos:
                    -rwxrwxrwx 1 root root 113 feb 4 11:19 proyecto.bat*

                    Sin embargo, cuando ejecuto el .bat me muestra un error de permiso :/
                    bash: ./proyecto.bat: /lib/modules/2.6.12-12mdk/comedi/drivers: mal intérprete: Permiso no concedido

                    ¿Alguien tendría alguna sugerencia que hacerme?

                    Gracias a todos. :D
                    1. Hola
                      ya para ser claro: ¿qué haces para ejecutar el bat, qué máquina, qué distribución...
                  2. Al mismo tiempo; lo más simple sería que nos pusieras tu script directamente, ¡podríamos corregirlo más fácilmente!
                    1. Lo tengo aquí:

                      #!/lib/modules/2.6.12-12mdk
                      depmod -a
                      #!/lib/modules/2.6.12-12mdk/comedi/drivers
                      modprobe ni_pcimio
                      comedi_config /dev/comedi0 ni_pcimio
                      exit

                      no estoy seguro de que esté correcto, pero antes que nada tengo un problema de permisos.
                      • 1
                      • 2