Хорошим способом выполнения этого является создание сценария для пустого «файла конфигурации»:
В первый раз, когда скрипт запускается, он видит, что файл не существует, создает его и запускает [F2]. Во второй раз, когда скрипт запускается, он видит, что файл существует, удаляет его и запускает command2. В третий раз, когда скрипт запускается, он видит, что файл не существует, создает его и запускает command1. В 4-й раз, когда скрипт запускается, он видит, что файл существует, удаляет его и запускает command2.И так далее.
Вот сценарий, который делает это:
#!/bin/sh
# This shell script is PUBLIC DOMAIN. You may do whatever you want with it.
TOGGLE=$HOME/.toggle
if [ ! -e $TOGGLE ]; then
touch $TOGGLE
command1
else
rm $TOGGLE
command2
fi