summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xkeyringer1
-rwxr-xr-xlib/keyringer/actions/shell18
2 files changed, 19 insertions, 0 deletions
diff --git a/keyringer b/keyringer
index 11b8aa1..e65bef0 100755
--- a/keyringer
+++ b/keyringer
@@ -135,6 +135,7 @@ set -f
export PREFERENCES="`dirname $CONFIG`/$KEYRING"
export KEYRINGER_VERSION
export CONFIG_VERSION
+export KEYRING
# Set functions location
if [ -e "`dirname $(readlink -f $0)`/lib/$NAME/functions" ]; then
diff --git a/lib/keyringer/actions/shell b/lib/keyringer/actions/shell
new file mode 100755
index 0000000..c70d6bb
--- /dev/null
+++ b/lib/keyringer/actions/shell
@@ -0,0 +1,18 @@
+#!/bin/bash
+#
+# Interactive shell.
+#
+
+# Load functions
+LIB="`dirname $0`/../functions"
+source "$LIB" || exit 1
+
+# While a "quit" command isn't entered, read STDIN
+while read -rep "keyringer:/> " STDIN; do
+ if [ "$STDIN" == "quit" ]; then
+ break
+ # If line is not empty or commented, process command
+ elif [[ -n "$STDIN" && "$STDIN" != "#"* ]]; then
+ keyringer "$KEYRING" $STDIN
+ fi
+done