servicio systemd simple para la ejecución de script de shell

servicio systemd simple para la ejecución de script de shell

Estoy intentando iniciar un archivo .sh simple y diceFailed at step EXEC spawning /etc/start.sh: No such file or directory

Contenido de lagnome.service

[Unit]
Description=Description for sample script goes here
After=network.target
RequiresMountsFor=/etc/

[Service]
Type=simple
ExecStart=/etc/start.sh
TimeoutStartSec=0

[Install]
WantedBy=default.target

Contenido destart.sh

#!/bin/bash
echo "This is a sample script to test auto run during boot" > /root/Documents/script.txt
echo "The time the script run was -->  `date`" >> /root/Documents/script.txt

Salida desystemctl status gnome -l

● gnome.service - Description for sample script goes here
   Loaded: loaded (/etc/systemd/system/gnome.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2019-06-06 18:25:32 CEST; 3s ago
  Process: 11713 ExecStart=/etc/start.sh (code=exited, status=203/EXEC)
 Main PID: 11713 (code=exited, status=203/EXEC)

Jun 06 18:25:32 some.server.adress systemd[1]: Started Description for sample script goes here.
Jun 06 18:25:32 some.server.adress systemd[11713]: Failed at step EXEC spawning /etc/start.sh: No such file or directory
Jun 06 18:25:32 some.server.adress systemd[1]: gnome.service: main process exited, code=exited, status=203/EXEC
Jun 06 18:25:32 some.server.adress systemd[1]: Unit gnome.service entered failed state.
Jun 06 18:25:32 some.server.adress systemd[1]: gnome.service failed.

Salida dels -l /etc/start.sh

-rwxr-xr-x 1 root root 179 Jun  6 18:19 /etc/start.sh

Salida de/etc/start.sh

-bash: /etc/start.sh: /bin/bash^M: bad interpreter: No such file or directory

Respuesta1

Estaba usando Notepad++ en Windows así que tuve que ejecutar

sed -i -e 's/\r$//' /etc/start.sh

para reemplazar los finales de línea de Windows.

^M es un carácter de retorno de carro. Linux usa el carácter de avance de línea para marcar el final de una línea, mientras que Windows usa la secuencia de dos caracteres CR LF. Su archivo tiene finales de línea de Windows, lo que confunde a Linux.

Hilo de respuesta: https://askubuntu.com/questions/304999/not-able-to-execute-a-sh-file-bin-bashm-bad-interpreter

información relacionada