summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2013-12-10 12:52:56 -0200
committerSilvio Rhatto <rhatto@riseup.net>2013-12-10 12:52:56 -0200
commit60603e9479414a67f96849f99851ef2749693f49 (patch)
tree00a124373ea5b0b53347a989b8df016bd8f196c0
parentf2334e9e16bc2aa85a619e606cc2a38211544675 (diff)
downloadkeyringer-60603e9479414a67f96849f99851ef2749693f49.tar.gz
keyringer-60603e9479414a67f96849f99851ef2749693f49.tar.bz2
Initial implementation for keyringer shell (#34)
-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