Tengo un script bash llamado Guión.sh. Funcionó bien cuando estaba en mi/hogardirectorio. Lo moví a mi/papeleradirectorio, para ejecutarlo como comando. Al principio funcionó bien (como comando, en mi opinión)./papelera), pero después de reiniciar, dejó de funcionar. Cuando escribo Script.sh
en la terminal, no sucede nada y tengo que usar Ctrl+ C
para que la terminal vuelva a funcionar. Cuando miGuión.shesta en mi/papelera, mi spd-say
comando tampoco funciona (no pronuncia el argumento cuando lo uso en la terminal). Después de mover el guión de/papelera, todo se corrige. ¿Hay algún problema al mover un archivo a/papelera?
$ echo $PATH
:/home/m/bin:/home/m/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Esta es la primera parte del guión.
#!/bin/bash
spd-say -w "Do you know this man?"
xdg-open $(locate "X.jpg")
read a
if [ "$a" == "yes" ]
then
spd-say -w "Call the police."
else
spd-say -w "Thanks."
fi
Respuesta1
No tengo suficiente reputación para hacer un comentario, pero me parece que necesitas poner tu script en /usr/local/bin.
Deman hier(7)
/bin This directory contains executable programs which are needed in single user mode and to bring the system up or repair it. /usr/local/bin Binaries for programs local to the site.
Ya sabes, copia sudo cp
y comprueba los permisos.
Pero si desea utilizar el programa sólo para usted, colóquelo en una /home/$USER/bin
carpeta.
Además, puede crear un enlace simbólico desde su script a una ruta en /usr/local/bin
ln -s /full/path/to/your-script.sh /usr/local/bin/<empty or optional name>