bashスクリプトで矢印キーを使用して、上/左矢印キーが押された場合に特定のコマンドセットを実行し、下/右矢印キーが押された場合に特定のセットを実行することは可能ですか?データの表示中に矢印キーを使用し、このスクリプトを使用してデータを読み取ることにより、ユーザーをすばやく切り替える方法を模索しています。
function main() # The main function that controls the execution of all other functions
{
mkdir -p ~/usertmp # Make a new temporary user directory if it doesn't exist
touch ~/last_seen_output.txt # Create the output file if it doesn't exist
cat /dev/null > ~/last_seen_output.txt # Make sure that the output file is empty
gather # Call the "gather" function
total=$((`wc -l ~/usertmp/user_list.txt|awk '{print $1}'`-1)) # Calculate the total amount of lines and subtract 1 from the result
echo Current Time: `date +%s` > ~/last_seen_output.txt # Print the current time to the output file for later reference
echo "" > ~/last_seen_output.txt # Print a blank line to the output file
if [ $log -eq 1 ]
then
# If it is enabled, then delete the old backups to prevent errors
while [ $line_number -le $total ]
do
line_number=$((line_number+1)) # Add 1 to the current line number
calculate # Call the "calculate" function
hms # Call the "hms" function to convert the time in seconds to normal time
log
done
else
while [ $line_number -le $total ]
do
line_number=$((line_number+1)) # Add 1 to the current line number
calculate # Call the "calculate" function
hms # Call the "hms" function to convert the time in seconds to normal time
echo "Displaying, please hit enter to view the users one by one."
read # Wait for user input
if [ "$log_while_displaying" ]
then
log
display
else
display
fi
done
fi
}
https://github.com/jbondhus/last-seen/blob/master/last-seen.shは完全なスクリプトです。
「ユーザー入力を待つ」とコメントされている読み取りコマンドは、Enterキーを押して次のユーザーに移動するコマンドです。基本的に、このスクリプトはユーザーと、各ユーザーがログインしてから経過した時間を一覧表示します。矢印キーを使用して、表示されている各ユーザーを切り替えようとしています。キー入力をcaseするためにcaseステートメントを使用できるかもしれないと思いました。繰り返しになりますが、これが可能かどうかはわかりません。そうでない場合、誰かがこれを行う別の方法を考えることができますか?