Why won't my script work?

So I made this script to start Hyprland but the line "alacritty --hold -e " line would not run (The does work if entered manually), I do not use a login manager so maybe from the tty it does not detect a graphical interface even after Hyprland initialized, but I have no idea, help please.

#!/bin/bash



for i in "$@"; do
  case $i in
      -W | --Wallpaper )
       WALLPAPER="$2"
       Hyprland & # Start Hyprland.
       sleep 30s && # A Time-Delay to let Hyprland initialize.
       alacritty --hold -e set-wal -w "$WALLPAPER" -c -n # Set Sysytem Theme and Wallpaper (Using "swww img" and "wal -i").
       shift # Past argument with no value.
       ;; 
      -wh | --wlan-home )
       WNet-Config -wh # Connect to the network.
       shift # Past argument with no value.
       ;;
      -wm | --wireless-mobile )
       WNet-Config -wm # Connect to mobile hot-spot.
       shift # Past argument with no value.
       ;;
      -* | --* )
       echo "Unrecognized argument ( $i )."
       exit 1
       ;;
     *)
       ;;
   esac   
   shift
done
1 Like