# execline-state > in spite of skarnet's "execline maintains no state" a simple shift register built on piperw(1) requirements: - execline (obviously) - s6-portable-utils (s6-expr, s6-ls, s6-tail) ### usage ``` init-state load-state save-state nuke-state ``` ```sh #!/bin/execlineb init-state flip save-state flip "up" foreground { forstdin -E line load-state flip current println "! state: $current" ifelse { s6-test "$line" = "flip" } { println "! flipping state" ifelse { s6-test "$current" = "up" } { save-state flip "down" } save-state flip "up" } save-state flip "$current" } nuke-state flip ```