From 0f1ee5f53323317cfbd449235f2f185d64684207 Mon Sep 17 00:00:00 2001 From: Erik Arvstedt Date: Sun, 17 May 2020 23:46:44 +0200 Subject: [PATCH] examples: improve shell session usability - Add usage prompt when starting shell sessions - Give all examples an uniform interface ("c") for running commands or starting a shell on the node. --- examples/deploy-container.sh | 8 +++++++- examples/deploy-nixops.sh | 1 + examples/start-bash-session.sh | 13 +++++++++++-- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/examples/deploy-container.sh b/examples/deploy-container.sh index d48dfb4..f9fc494 100755 --- a/examples/deploy-container.sh +++ b/examples/deploy-container.sh @@ -62,7 +62,13 @@ in { } EOF # Run command in container -c() { sudo extra-container run demo-node -- "$@" | cat; } +c() { + if [[ $# > 0 ]]; then + sudo extra-container run demo-node -- "$@" | cat; + else + sudo nixos-container root-login demo-node + fi +} echo echo "Bitcoind service:" diff --git a/examples/deploy-nixops.sh b/examples/deploy-nixops.sh index d7209e8..155cc5e 100755 --- a/examples/deploy-nixops.sh +++ b/examples/deploy-nixops.sh @@ -38,6 +38,7 @@ nixops deploy -d bitcoin-node # Connect to node nixops ssh bitcoin-node systemctl status bitcoind +c() { nixops ssh bitcoin-node "$@"; } # Uncomment to start a shell session here # . start-bash-session.sh diff --git a/examples/start-bash-session.sh b/examples/start-bash-session.sh index 6ed16bf..37ba4fc 100644 --- a/examples/start-bash-session.sh +++ b/examples/start-bash-session.sh @@ -1,6 +1,15 @@ # Start an interactive bash session in the current bash environment. +USAGE_INFO=' +Starting shell... +Run "c COMMAND" to execute a command on the bitcoin node +Run "c" to start a shell session inside the node' + # BASH_ENVIRONMENT contains definitions of read-only variables like 'BASHOPTS' that -# cause warnings on importing. Suppress these warnings during bash startup. +# cause warnings on evaluation. Suppress these warnings while sourcing. BASH_ENVIRONMENT=<(declare -p; declare -pf) \ - bash --rcfile <(echo 'source $BASH_ENVIRONMENT 2>/dev/null') +USAGE_INFO="$USAGE_INFO" \ + bash --rcfile <(echo ' + source $BASH_ENVIRONMENT 2>/dev/null + echo "$USAGE_INFO" + ')