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