Register
It is currently Sun Dec 21, 2014 4:16 am

bics- (B)ash (I)nteractive (C)lipboard (S)cript


All times are UTC - 6 hours


Post new topic Reply to topic  [ 5 posts ] 
Author Message
 PostPosted: Wed Sep 07, 2005 6:21 am   
Site Admin
User avatar

Joined: Sun May 15, 2005 9:36 pm
Posts: 673
Location: Des Moines, Iowa
bics- bash interactive clipboard script

Something I played around with last night...... jbsnake helped me on a couple spots. Basically it's a clipboard for your terminal screen. So when your in a command line only mode, you can still have a quick place to keep notes. It's menu driven, so it's VERY simple to use. :D

Code:
#!/bin/bash
##########################
# USA Linux Users Group  #
# http://www.usalug.org  #
# http://bashscripts.org #
##########################


########################################################
#     bics- bash interactive clipboard script          #
########################################################
#
#
#
#    FILE: bics.sh
# VERSION: 0.0.1
#    DATE: 09-06-2005
#
#  AUTHOR: Dave Crouse <dave NOSPAMat usalug.org>
#          PO Box 3210
#          Des Moines, IA 50316-0210
#          United States
#
# Copyright (C) 2005
# Dave Crouse <dave NOSPAMat usalug.org>
# All rights reserved.
#
########################################################


#########################################################################
#  This software is licensed under the GPL - GNU General Public License #
#########################################################################
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc.
# 59 Temple Place, Suite 330
# Boston, MA  02111-1307  USA
#
###################################################################

######################
# Start of Variables #
######################
#
#
#########################################################
                                                       ##
bics_version="0.1.0"                                   ##
revision_date="Modified September 7, 2005"             ##
author="Created by: Dave Crouse and Joshua Bailey"     ##
                                                       ##
#########################################################
#
#
######################
# End of Variables   #
######################


######################
# Start of Functions #
######################
#
#

headerfile ()
{
clear
echo "
(B)ash (I)nteractive (C)lipboard (S)cript
bics - Version $bics_version  clipboard.clip";
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
mkdir -p ~/.bics
touch ~/.bics/clipboard.clip
touch ~/.bics/clip2.txt
nl -ba  ~/.bics/clipboard.clip
echo "";
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
}


Main_Menu ()
{
mainmenu="     a)dd  r)emove  c)lear  h)help  e)xit"
headerfile
echo -e "$mainmenu"
echo "";
read -p "Please choose one of the options above : " option

while true
do
   case $option in
      a)   read -p "Enter your text : " clippy; echo $clippy >> ~/.bics/clipboard.clip;
         ;;
      r)   rm ~/.bics/clip2.txt;
     read -p "Which line you would like to delete : " removeline;
     if [[ $removeline != "" ]]
     then
         cat ~/.bics/clipboard.clip | sed ''$removeline'd' > ~/.bics/clip2.txt;
         mv ~/.bics/clip2.txt ~/.bics/clipboard.clip
     fi
     ;;
      c)   read -p "Are you sure you want to erase the entire clipboard ? y/n: " reallycontinue
              if [ "$reallycontinue" = "y" ]
                 then
                     rm ~/.bics/clipboard.clip; echo "!! Erasing Clipboard !!" ; sleep 1;
               fi
         ;;
      h)   helpfile ;
         ;;   
      e)   option="";
         exit;
         ;;
      alias)  echo "alias bics='sh $PWD/bics.sh'" >> ~/.bashrc;
         ;;   
      *)   echo "Sorry, that isn't an option, try again. "; sleep 2;
         ;;
   esac
   headerfile
   echo -e "$mainmenu"
   echo "";   
   read -p "Please choose one of the options above : " option
done

}


helpfile ()
{
clear
echo "
(B)ash (I)nteractive (C)lipboard (S)cript
bics - Version $bics_version  clipboard.clip";
echo "";
echo "This is the help file for bics - (B)ash (I)nteractive (C)lipboard (S)cript";
echo ""
echo "Tip #1 Typing alias will set an alias into your .bashrc file. You can then start the clipboard by typing   bics ";
echo ""
read -p "Hit any key to continue" blah
}
#
#
####################
# End of Functions #
####################


###########################
# Program run starts here #
###########################
headerfile
Main_Menu
exit


Last edited by crouse on Fri Oct 07, 2005 12:48 pm, edited 1 time in total.

Top
 Profile WWW  
 PostPosted: Wed Sep 07, 2005 4:14 pm   
Site Admin

Joined: Tue May 17, 2005 7:31 pm
Posts: 251
Location: Georgia
very nice coding... i especially like the indentation :)


Top
 Profile  
 PostPosted: Thu Sep 08, 2005 9:13 am   
Site Admin
User avatar

Joined: Sun May 15, 2005 9:36 pm
Posts: 673
Location: Des Moines, Iowa
:P Funny man ... lol. Thanks for helping with it :D

Screenshot of the newest version:

Image


Top
 Profile WWW  
 PostPosted: Mon Aug 30, 2010 2:39 pm   
Site Admin

Joined: Tue May 17, 2005 7:31 pm
Posts: 251
Location: Georgia
I found this script on my machine. I'm pretty sure it's a slightly earlier version of this script, but I added gpg functionality to it.
I tweaked it a little, and well... here :)
Code:
#!/bin/bash                           
##########################           
# USA Linux Users Group  #           
# http://www.usalug.org  #           
# http://bashscripts.org #           
##########################           


########################################################
#     bics- bash interactive clipboard script          #
########################################################
#                                                       
#                                                       
#                                                       
#    FILE: bics.sh                                     
# VERSION: 0.2.1                                       
#    DATE: 08-30-2010                                   
#                                                       
#  AUTHOR: Dave Crouse <dave NOSPAMat usalug.org>       
#          PO Box 3210                                 
#          Des Moines, IA 50316-0210                   
#          United States                               
#                                                       
# Copyright (C) 2010                                   
# Dave Crouse <dave NOSPAMat usalug.org>               
# All rights reserved.                                 
#                                                       
########################################################


#########################################################################
#  This software is licensed under the GPL - GNU General Public License #
#########################################################################
#                                                                       
# This program is free software; you can redistribute it and/or modify   
# it under the terms of the GNU General Public License as published by   
# the Free Software Foundation; either version 2 of the License, or     
# (at your option) any later version.                                   
#                                                                       
# This program is distributed in the hope that it will be useful,       
# but WITHOUT ANY WARRANTY; without even the implied warranty of         
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         
# GNU General Public License for more details.                           
#                                                                       
# You should have received a copy of the GNU General Public License     
# along with this program; if not, write to the Free Software           
# Foundation, Inc.                                                       
# 59 Temple Place, Suite 330                                             
# Boston, MA  02111-1307  USA                                           
#                                                                       
###################################################################     

######################
# Start of Variables #
######################
#                     
#                     
#########################################################
                                                       ##
bics_version="0.2.1"                                   ##
revision_date="Modified August 30, 2010"               ##
author="Created by: Dave Crouse and Joshua Bailey"     ##
twd=`cd ~ && pwd`                                      ##
wd="${twd}/.bics/"                                     ##
cd - >/dev/null 2>&1                                   ##
                                                       ##
#########################################################
#                                                       
#                                                       
######################                                   
# End of Variables   #                                   
######################                                   


######################
# Start of Functions #
######################
#                     
#                     

headerfile ()
{           
clear       
echo "       
(B)ash (I)nteractive (C)lipboard (S)cript
bics - Version $bics_version  clipboard.clip"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo ""                                         
if [[ ! -f ${wd}clipboard.clip ]]               
then                                             
        mkdir -p ${wd}                           
        echo "No Notes!"                         
else                                             
        gpg -d --passphrase "$pp" ${wd}clipboard.clip 2>/dev/null
fi                                                               
echo ""                                                         
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"               
}                                                               


Main_Menu ()
{           
mainmenu="     a)dd  r)emove  c)lear  h)elp  e)xit"
#headerfile                                       
echo -e "$mainmenu"                               
echo "";                                           
read -p "Please choose one of the options above : " option

while true
do       
   case $option in
      a)        decrypt_board
                read -p "Enter your text: " clippy; echo $clippy >> ${wd}clip2.txt;
                encrypt_board                                                     
                ;;                                                                 
      r)        read -p "Which line would you like to delete : " removeline;       
                if [[ "$removeline" != "" ]]                                       
                then                                                               
                        decrypt_board                                             
                        sed -i "/^${removeline}$/d" ${wd}clip2.txt;               
                        encrypt_board                                             
                fi                                                                 
                ;;                                                                 
      c)   read -p "Are you sure you want to erase the entire clipboard ? y/n: " reallycontinue
              if [ "$reallycontinue" = "y" ]                                                   
                 then                                                                         
                     shred ${wd}clipboard.clip; echo "!! Erased Clipboard !!" ; sleep 1;       
               fi                                                                             
         ;;                                                                                   
      h)   helpfile ;                                                                         
         ;;                                                                                   
      e)   option="";                                                                         
         exit;                                                                                 
         ;;                                                                                   
      alias)    cp $0 ${wd}                                                                   
                echo "alias bics='sh ${wd}bics.sh'" >> ~/.bashrc;                             
         ;;                                                                                   
      *)   echo "Sorry, that isn't an option, try again. "; sleep 2;                           
         ;;                                                                                   
   esac                                                                                       
   headerfile                                                                                 
   echo -e "$mainmenu"                                                                         
   echo "";                                                                                   
   read -p "Please choose one of the options above : " option                                 
done                                                                                           

}

get_pp ()
{
        stty -echo
        read -p "Please enter the passphrase: " tmp_pp
        echo ""
        read -p "Please re-enter the passphrase: " tmp_pp2
        stty echo
        echo ""
        if [[ "$tmp_pp" == "$tmp_pp2" ]]
        then
                pp="$tmp_pp"
        else
                echo "Passphrases don't match!"
                echo "Aborting..."
                exit
        fi
        if [[ -f ${wd}clipboard.clip ]]
        then
                testing=`gpg -d --passphrase "$pp" ${wd}clipboard.clip 2>&1`
                if [[ `echo "$testing" | grep "gpg: decryption failed: bad key"` != "" ]]
                then
                        echo "Wrong passphrase!"
                        echo "Aborting!"
                        exit
                fi
        fi
}

encrypt_board ()
{
        if [[ -f ${wd}clipboard.clip ]]; then rm -f ${wd}clipboard.clip; fi
        gpg -ca --passphrase "$pp" -o ${wd}clipboard.clip ${wd}clip2.txt && rm -f ${wd}clip2.txt
}

decrypt_board ()
{
        if [[ -f ${wd}clip2.txt ]]; then rm -f ${wd}clip2.txt; fi
        gpg -d --passphrase "$pp" -o ${wd}clip2.txt ${wd}clipboard.clip 2>/dev/null && rm -f ${wd}clipboard.clip
}

helpfile ()
{
clear
echo "
(B)ash (I)nteractive (C)lipboard (S)cript
bics - Version $bics_version  clipboard.clip";
echo "";
echo "This is the help file for bics - (B)ash (I)nteractive (C)lipboard (S)cript";
echo ""
echo "Tip #1 Typing alias will set an alias into your .bashrc file. You can then start the clipboard by typing   bics ";
echo ""
read -p "Hit any key to continue" blah
}
#
#
####################
# End of Functions #
####################


###########################
# Program run starts here #
###########################
get_pp
headerfile
Main_Menu


Top
 Profile  
 PostPosted: Fri Sep 03, 2010 7:12 pm   
Site Admin
User avatar

Joined: Sun May 15, 2005 9:36 pm
Posts: 673
Location: Des Moines, Iowa
nice :)


Top
 Profile WWW  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
cron


BashScripts | Promote Your Page Too
Powered by phpBB © 2011 phpBB Group
© 2003 - 2011 USA LINUX USERS GROUP