#!/bin/bash leds(){ for i in 0 7 12 # 0 = power led, 7 = hibernation led, 12 = charging led do echo $i $1 > /proc/acpi/ibm/led done } dit(){ leds on sleep 0.1 leds off sleep 0.1 } dah(){ leds on sleep 0.3 leds off sleep 0.1 } morse(){ case $1 in "0") dah; dah; dah; dah; dah;; "1") dit; dah; dah; dah; dah;; "2") dit; dit; dah; dah; dah;; "3") dit; dit; dit; dah; dah;; "4") dit; dit; dit; dit; dah;; "5") dit; dit; dit; dit; dit;; "6") dah; dit; dit; dit; dit;; "7") dah; dah; dit; dit; dit;; "8") dah; dah; dah; dit; dit;; "9") dah; dah; dah; dah; dit;; "a") dit; dah;; "b") dah; dit; dit; dit;; "c") dah; dit; dah; dit;; "d") dah; dit; dit;; "e") dit;; "f") dit; dit; dah; dit;; "g") dah; dah; dit;; "h") dit; dit; dit; dit;; "i") dit; dit;; "j") dit; dah; dah; dah;; "k") dit; dah; dit; dah;; "l") dit; dah; dit; dit;; "m") dah; dah;; "n") dah; dit;; "o") dah; dah; dah;; "p") dit; dah; dit;; "q") dah; dah; dit; dah;; "r") dit; dah; dit;; "s") dit; dit; dit;; "t") dah;; "u") dit; dit; dah;; "v") dit; dit; dit; dah;; "w") dit; dah; dah;; "x") dah; dit; dit; dah;; "y") dah; dit; dah; dah;; "z") dah; dah; dit; dit;; " ") sleep 0.3;; #*) echo "done";; esac } parse(){ tmp=$1 for i in $(seq 0 ${#tmp}) do echo "current letter: ${tmp:$i:1}" morse ${tmp:$i:1} done } read -p "enter a word: " input echo "blinking \"$input\"" parse "$input"