shellnotes/shellnotes.sh
2021-01-01 22:05:16 +02:00

215 lines
4.4 KiB
Bash

#!/bin/bash
#Change the first line if you don't use bash, in order for the code to work properly.
#Warning! If you don't have gedit(text editor) or nano installed, you may have to change the default text editor (lines 10, 25, 40).
#remember to write this line into your terminal
#chmod +x shellnotes.sh
#Make a Notes folder for the user
cd ~
if [[ -d "Notes" ]]; then
exists=True;
else
mkdir Notes;
fi
#opening a note (It will create a new note if $notename is blank)
function readnote() {
dir="$(pwd)";
me="$(whoami)";
read -p "Enter note name: " opennote;
cd ~/Notes;
if [ -e $opennote ]; then
gedit $opennote;
else
clear;
echo "No such note.";
cd ~
read -p "Do you want to create one?[Y/N]: " create;
fi
if [ $create == "y" ] || [ $create == "Y" ] || [ $create == "yes" ] || [ $create == "YES" ] || [ $create == "Yes" ]; then
newnote
fi
clear;
cd $dir
}
#Read notes instantly via terminal
function quickread() {
dir="$(pwd)";
read -p "Enter note name: " quicknotename;
cd ~/Notes
if [ -e $quicknotename ]; then
clear;
cat $quicknotename
else
clear;
echo "No such note.";
cd ~
fi
cd $dir
}
#A quick solution to users who want keeping notes instantly via terminal.
function quicknote() {
dir="$(pwd)";
me="$(whoami)";
cd ~/Notes;
read -p "Enter note name: " notename;
if [ -e $notename ]; then
clear;
echo "This note already exists.";
cd ..
read -p "Do you want to read it?[Y/N]: " readquicknote;
else
touch $notename;
nano $notename;
cd $dir;
clear;
echo "Note created in Home/$me/Notes";
echo "-----------------------------------";
fi
if [[ $readquicknote == "y" ]] || [[ $readquicknote == "Y" ]] || [[ $readquicknote == "yes" ]] || [[ $readquicknote == "YES" ]] || [[ $readquicknote == "Yes" ]]; then
clear;
cd ~/Notes
cat $notename;
cd $dir
fi
}
#writes notes using ubuntu's text-editor (gedit).
function newnote() {
dir="$(pwd)";
cd ~/Notes;
me="$(whoami)";
gedit;
clear;
cd $dir;
echo "Note created in Home/$me/Notes";
echo "-----------------------------------";
}
#Delete notes from terminal
function delnote() {
if [[ $1 == "-all" ]]; then
dir="$(pwd)";
cd ~/Notes
me="$(whoami)";
rm *
clear;
cd $dir;
echo "All files deleted from Home/$me/Notes";
echo "-------------------------------------";
else
dir="$(pwd)";
cd ~/Notes
me="$(whoami)";
read -p "Enter the name of the note you want to delete: " delete
if [ -e $delete ]; then
rm $delete
clear;
cd $dir;
echo "Note deleted from Home/$me/Notes";
echo "-----------------------------------";
else
echo "No such file."
cd ~;
fi
fi
}
#list your notes via terminal.
function listnotes() {
if [ -z "$(ls -A ~/Notes)" ]; then
echo "Your Notes folder is empty."
else
ls ~/Notes -t
fi
}
#Help for new users
function shellnotes() {
if [[ $1 == "-v" ]]; then
echo "Shellnotes version: 2.0"
elif [[ $1 == "-r" ]]; then
echo "Github repository: https://github.com/dmarakom6/shellnotes/blob/master/"
elif [[ $1 == "-h" ]]; then
less ~/.help;
cd $dir;
elif [[ $1 == "--help" ]]; then
less ~/.help;
cd $dir;
fi
}
#Take info about a note
function noteinfo() {
dir="$(pwd)"
cd ~/Notes
read -p "Enter note name: " notename;
if [ -e $notename ]; then
wc $notename;
echo "(lines/words/chars/name)"
else
echo "That note doesn't exist."
fi
cd $dir
}
#Help the user find a specific Note in his note folder. If it's not there, he must have misplaced it.
function findnote() {
dir="$(pwd)"
me="$(whoami)"
read -p "Enter note name: " notename;
cd ~/Notes
if [ -e $notename ]; then
echo "File was found in your Notes folder."
else
echo "File was not found in your Notes folder, must be misplaced or renamed."
echo "Try 'findmisplacednote' to find the original file."
fi
cd $dir
}
#Find a misplaced note, not in the Notes folder.
function findmisplacednote() {
read -p "Enter note name: " notename;
echo "Possible locations: ";
find ~/ -iname $notename -print 2>/dev/null;
}
#Rename a note.
function renamenote() {
dir="$(pwd)"
me="$(whoami)"
cd ~/Notes
read -p "Enter note name: " notename
if [ -e $notename ]; then
read -p "Enter new name: " newnotename
if [ -e $newnotename ]; then
echo "There is another note named '$newnotename' in your Notes folder."
else
mv $notename $newnotename
clear;
echo "Note renamed from $notename to $newnotename in Home/$me/Notes"
echo "-------------------------------------------------------------"
fi
else
echo "This note does not exist."
fi
cd $dir;
}