#!/usr/bin/expect -f set basedir [file dirname $argv0] set basename [file tail $argv0] exp_internal -f $env(CLICKHOUSE_TMP)/$basename.debuglog 0 set history_file $env(CLICKHOUSE_TMP)/$basename.history log_user 0 set timeout 60 match_max 100000 expect_after { # Do not ignore eof from expect -i $any_spawn_id eof { exp_continue } # A default timeout action is to do nothing, change it to fail -i $any_spawn_id timeout { exit 1 } } # useful debugging configuration # exp_internal 1 spawn bash -c "source $basedir/../shell_config.sh ; \$CLICKHOUSE_CLIENT_BINARY \$CLICKHOUSE_CLIENT_OPT --disable_suggestion --highlight 0 --history_file=$history_file" expect ":) " # Make a query send -- "SELECT 'unique1'\r" expect "1" expect ":) " send -- "SELECT 'unique2'" # NOTE: it does not work for alacritty with TERM=xterm send -- "\033\[A" expect "SELECT 'unique1'" send -- "\033\[B" expect "SELECT 'unique2'" send -- "\r" # First is echoed command expect "'unique2'" # Second is the response from the server expect "'unique2'" send -- "exit\r" expect eof