aircrack-ng
ここでは、端末画面にテキストを表示したり、マトリックススクリプトのようなものが欲しい...!
たとえば、私の端末画面にすでに4行が含まれている場合は、最初の行をその場所に更新し、他の行も同じように更新したいとします(bashを使用)
より正確には、次のスクリプトが必要です。
#!/bin/bash
while :
do
echo "line1"
echo "line2"
echo "line3"
echo "line4"
# without using clear cmd, next cycle line1 should be printed
# in line1 place not in a new line , and same for other lines
done
ベストアンサー1
これをサポートする端末では、次を使用してカーソルtput sc
位置を保存およびtput rc
復元できます。
i=0
tput sc
while sleep 1; do
tput rc
echo "line$((i=i+1))"
echo "line$((i=i+1))"
echo "line$((i=i+1))"
echo "line$((i=i+1))"
done
tput
各呼び出しを避けるために、これらのエスケープシーケンスを変数に保存できます。
rc=$(tput rc) ||
echo >&2 "Warning: terminal doesn't support restoring the cursor"
...
printf '%s\n' "${rc}line1..."
これをサポートしていないまれな端末では、常にカーソル位置決め順序を使用できます。
while sleep 1; do
echo "line$((i=i+1))"
echo "line$((i=i+1))"
echo "line$((i=i+1))"
echo "line$((i=i+1))"
tput cuu 4 # or up=$(tput cuu1); printf %s "$up$up$up$up"
done
詳細については、terminfo
セクション5のマニュアルページを参照してください(システムにncursesが提供されている場合)。