Hledáte xdotool.
Ekvivalenty vašich příkladů příkazů xdotool jsou:
xdotool key 1 Return
xdotool keydown Alt key a keyup Alt
Chcete-li vložit text do standardního kódu programu, použijte roury a/nebo přesměrování:
echo 1 | myprogram
(echo "First line"
echo "Second line") | myprogram
myprogram <<EOF
First line
Second line
EOF
V případě interaktivních programů CLI (ne full-terminální), je možné použít pojmenované roury nebo koprocesy jako druh chudáka expect
(což jste vyloučili, protože je Tcl):
mkfifo in out
myprogram <in >out &
echo "First line" >in
read -r reply <out
mkfifo in out
myprogram <in >out &
exec {infd}>in {outfd}<out
echo "First line" >&$infd
read -r reply <&$outfd
coproc foo { myprogram; }
echo "First line" >&${foo[1]}
read -r reply <&${foo[0]}
(Buďte opatrní při čtení z výstupního potrubí, např. head -1 <out
nepřečte pouze jeden řádek – uloží do vyrovnávací paměti jeden celý 4k blok, vytiskne jeden řádek a zbytek zahodí.)
Odstraňte všechny symbolické odkazy souborů jedním příkazem
du, který počítá spíše počet souborů/adresářů než velikost